自作アイコンエディタ

長方形、直線、楕円、文字の挿入 自作アイコンエディタ(その3)

では長方形、直線、楕円、文字の挿入ができるようになりました。しかし長方形を書くときにエディタ上をドラッグしてもどこに長方形が作られるのかがわかりません。ドラッグしているときに図形が描画される部分がわかるようになると便利です。そこで範囲選択ができるようにしました。

まずラジオボタンで[範囲選択]の項目を追加しました。そのため、以下のメソッドが変更になります。

また選択されていることがわかるようにパネルの色を変えるので、もとの色がわかるようにXYクラスにフィールド変数を追加しています。

PanelExクラスには、範囲選択に対応するためのイベントを追加します。

DragOverPanelイベントが発生したときの処理ですが選択範囲を調べてパネルの色を変えるようにしています。

マウスが動いただけではドラッグオーバーされているパネルは同じかもしれません。そのときはなにもしないようにしています。前回ドラッグオーバーされていたパネルと今回ドラッグオーバーされているパネルが同じかどうかはフィールド変数(SelectionX、SelectionY)に値を保存してこれを比較することで判断しています。

また描画される直線、長方形、楕円が確定した場合は、範囲選択を解除する必要があります。

これは単に範囲選択が選択されているときの処理です。範囲選択の開始時にClearSelectionXYsメソッドでSelectionXYsの要素を空にするとともに、境界部分の色をもとの色に戻しています。

これでどこに図形を描画されるかがわかるようになります。