VC ++は、マウスポインタをシステムの事前定義された形状とカスタム形状に変更します

新しい単一ドキュメントプロジェクトを作成し、WM_SETCURSORメッセージ処理関数をビジュアルクラスに追加します。

マウスポインタを、システムによって事前定義された十字形のIDC_CROSSに設定します。LoadCursorがシステムの事前定義されたカーソルをロードするとき、最初のパラメータはNULLです。

事前定義され、カーソルを待っています。一部のコンピューターは砂時計の形をしており、一部は円の形をしています。

システムで事前定義されたカーソルは次のとおりです。

    IDC_APPSTARTING標準矢印と小さな砂時計
    IDC_ARROW標準矢印
    IDC_CROSSクロスカーソル
    IDC_HANDWindows 98 / Me、Windows 2000 / XP:ハンド
    IDC_HELP標準矢印と疑問符
    IDC_IBEAMIDC_ICON
    バージョン4.0以降と     マークされたアプリケーションでは廃止
    IDC_NO禁止サークル
IDC_SIZEバージョンとマークされたアプリケーションでは廃止4.0以降。IDC_SIZEALLを使用します
    。IDC_SIZEALL4方向矢印は東、西、南、および北を
    指しますIDC_SIZENESW二重矢印は北東および南西を
    指しますIDC_SIZENS二重矢印は南北を
    指しますIDC_SIZENWSE二重矢印は北西および南東を
    指しますIDC_SIZEWE二重矢印は東西を
    指しますIDC_UPARROW垂直矢印
    IDC_WAIT砂時計、Windows7システムでは、待機中を示すために選択した円として表示されます

自分でアイコンを描きます。IDはIDI_ICON1です。

次のコードは、マウスポインタをIDI_ICON1に設定します。コードは間違っていませんが、カーソルは表示されません。

カーソルを挿入します;カーソル;

自分で描画します。IDはIDC_CURSOR1です。

次のコードは、マウスポインタをIDC_CURSOR1に設定し、プログラムを実行します。マウスポインタは空です。

次の図に示すように、カスタムカーソルをロードします。最初のパラメータを空にすることはできません。その後、カーソルが出てマウスとともに移動します。

//HCURSOR hCur  =  LoadCursor( NULL  , IDC_CROSS ) ;
//HCURSOR hCur  =  LoadCursor( NULL  , IDC_WAIT ) ;
HCURSOR hCur  =  LoadCursor( AfxGetInstanceHandle()  , MAKEINTRESOURCE(IDC_CURSOR1) ) ;
::SetCursor(hCur);
return true;

 

おすすめ

転載: blog.csdn.net/bcbobo21cn/article/details/114651008