マウスカーソルを砂時計にする

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明です。

  1. 新規プロジェクト(Hourglass)を作成してソースプログラムの最初の部分を表示して下さい。
    マウスカーソルを WAIT と ARROW に切り替えるフラグを定義します。
        // グローバル変数:
        BOOL    Wait= FALSE;
        
  2. CALLBACK WndProc() を表示して下さい。
    マウスの左クリックを検出する WM_LBUTTONDOWN: を追加します。
    クリックされると、ARROW のときは WAIT に、WAIT のときは ARROW に切り替えます。
        switch( message ) 
        {
            case WM_LBUTTONDOWN:
                if (Wait==FALSE)    // マウスカーソルを砂時計に
                {   Wait= TRUE;
                    SetCapture(hWnd);
                    SetCursor(LoadCursor(NULL,IDC_WAIT));
                }
                else                // マウスカーソルを元に
                {   Wait= FALSE;
                    ReleaseCapture();
                    SetCursor(LoadCursor(NULL,IDC_ARROW));
                }
                break;
        
  3. [デバッグ][デバッグなしで開始]を選択して、ビルドに続いて実行を行います。
    マウスを左クリックするとマウスカーソルが砂時計に変わります。
    もう一度クリックすると元に戻ります。

超初心者のプログラム入門(Win32API C++)