1 第5回(補遺) アニメーション・カーソル 1 アニメーション・カーソルの作成

第5回(補遺) プログラミング基礎
第5回(補遺)
1
アニメーション・カーソル
アニメーション・カーソルの作成
フリーソフト「ANI めーかー」によるアニメーション・カーソルの作成
(1)
Yahoo 等で「ANI めーかー」を検索し、「ANI めーかー」(フリーソフト)をダウンロードする。
(2)
ダウンロードしたファイルを解凍し、「ANI めーかー」(ANIMAKER.exe)を起動する。
(3)
「イメージの編集」タブで、[新規]をクリックする。
(4)
カーソルを描いたのち、[OK]ボタンをクリックする。
※キャンバスの大きさは 32×32pixels
(5)
上記の操作(3),(4)を繰り返し、
アニメーションに必要な枚数の画像を用意する。
(6)
「フレームの編集」タブで、次の項目を設定する。
「インターバル」: 画像の切り替え間隔(1=約 1/60 秒)
「ホットスポット」: カーソルが指し示すポイント
(7)
2
[すべて保存]ボタンをクリックする。
アニメーション・カーソルの使用
[サンプル(WinMain 関数の一部)]
赤:関数 / 青:変数
wc.hCursor = LoadCursorFromFile( "test.ani" );
◇ LoadCursorFromFile 関数: ファイルからカーソルを読み込む
返り値(カーソル) = LoadCursorFromFile( "カーソルのファイル名" );
※ 上記サンプルは、プログラムと同じ場所にアニメーション・カーソル・ファイル「test.ani」がある場合
1
3
カーソルの切り替え
[サンプル(WndProc 関数の一部)]
赤:関数 / 青:変数
LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
HCURSOR hc;
switch( message )
{
case WM_LBUTTONUP:
hc = LoadCursor(NULL, IDC_HAND);
SetClassLong( hWnd, GCL_HCURSOR, (long)hc );
break;
case WM_RBUTTONUP:
hc = LoadCursorFromFile( "test.ani" );
SetClassLong( hWnd, GCL_HCURSOR, (long)hc );
break;
◇ SetClassLong 関数: 「ウィンドウクラスの定義」の書き換え
SetClassLong( ウィンドウクラス, 書き換え対象, 書き換え後の値 );
※ 「書き換え対象」が「GCL_HCURSOR」の場合、カーソル情報が書き換えられる。
※ 書き換えの結果は、直後のメッセージ処理で反映される。
◇ SetCursor 関数: カーソル情報の即時反映
SetCursor( カーソル );
(例) SetCursor( hc );
2