1.3.2 アフィン変換テストプログラム(その2) ジェネラルプロシージャはメニューの[ツール]−[プロシージャの追加]によって作成できますが,直接コードウィンドウにコーディングできます.今の場合, Private Sub Draw( )とコードして[Enter]キーをクリックするとEnd Subが自動的に現れます.リスト1.8のようにコーディングします.
LoadPictureは,BMPファイルなどの画像をピクチャーボックスに表示するときに用いる関数です.引数を空白にするとクリアされます. ForeColorは文字や図形の色を指定するプロパティです.RGBは色のRGB値を表す長整数値を返す関数です.各色256階調で指定します.RGB(r,g,b)のrが赤成分,gが緑成分,bが青成分の明度を表します.黒を指定するときはRGB(0,0,0),白を指定するときはRGB(255,255,255)とします. For〜Nextステートメントは,同じような処理を決められた回数だけ繰り返すときに使用するステートメントです. コマンドボタンcmdRotateをマウスの左ボタンでクリックしたとき左回りに10度回転し,右ボタンを押したとき右回りに10度回転するようにします. コマンドボタンをダブルクリックすると自動的にClickイベントプロシージャが現れます.コードウィンドウの右上の「プロシージャ」ボックスでMouseDownイベントを選択し,リスト1.9のようにコーディングします.
MouseDownイベントプロシージャには4個の引数が存在します.第1引数のButtonは左ボタンが押されたときは1,右ボタンが押されたときは2となります.第2引数のShiftによってイベント発生時に[Shift],[Ctrl],[Alt]キーが押されたかどうかを判断します.それぞれ1,2,4が割り当てられています.XとYは,マウスが押されたときのマウスポインタの位置を示します.なお,VBでは一つのステートメントは1行でコーディングします.紙幅の都合でやむなく2行となるときは,1行目の末尾にアンダーバーを付けて示します(省略することもある).しかし,アンダーバーをコーディングすることはできません. 実際の回転操作は,リスト1.10のようにRotateサブプロシージャで行います.
For〜Nextステートメントを用いて各頂点について式(1.2)を計算しています.今までの頂点座標を別の変数に置き換えてから計算していることに注意してください.頂点配列は常に新しい座標値に更新されます. Copyright 2000 酒井 幸市 |
|
Copyright 1997-2001 CQ Publishing Co.,Ltd.