|
つまり、「エクセルでいうところの図形描画のようなソフト」を作りたいのよね。 懐かしいなあ、大学の課題で作った覚えがあるや(Javaだったけど)
いっぺんに全部やろうとすると(サンプルを参考にするにしても)混乱するから、 少しずつ機能をつけていく感じのほうがいいと思うよ。 例えば...
・画面に長方形を描画できるようにする(MouseDown などのイベント処理を使う) ・画面に楕円を描画できるようにする(上の応用) たぶんこれだけだと、再描画したときに図形が消えるけど気にしない。
・各図形クラスを定義して、描画した図形の情報を保持できるようにする(始点、高さ、幅、半径、線の色、ぬりつぶし…など) ・画面に図形を描画し直せるようにする(上で保持した情報を使って描画する) ここまでできれば、Paintイベントに描画処理を入れることで図形が消えなくなる。 個々の図形で共通な機能が見えてくるので、それを「図形」というクラスにまとめてしまってもいいし、慣れていたら最初からそういったクラス分けにすればいいし。
・図形を選択できるようにする(クリックしたときに、自分の図形が対象になっているかを判断する機能を図形に持たせる) ・選択した図形を操作できるようにする(マウスのイベントにあわせて、図形オブジェクトのプロパティを変更する 回転は難しいので、まずは移動とサイズ変更ができればいいんじゃないかな。 マウスカーソルが図形の真ん中部分にあるか、図形の枠部分にあるかで場合分けすればいい。
ここまでできれば、図形描画ツールとしてはひとまず合格なんじゃないかな。大変だけどがんばって。
発展問題 ・Undo、Redo機能を用意する
|