第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
© Copyright 2024 Paperzz