CWnd::OnLButtonDownは、ウィンドウ上でマウスの左ボタンが押された時(WM_LBUTTONDOWN)の処理を記述するためのメンバ関数(メッセージハンドラ)・・・。
1つ目の引数nFlagsには合わせて押されたボタンや仮想キーの情報、2つ目の引数pointにはCPoint型で押された位置座標が渡される・・・。
WindowsAPIのWM_LBUTTONDOWNの時のように、押された位置座標を表示してみる・・・。
CFrameWnd_.hでは、
押された位置座標を格納するメンバ変数m_x, m_y・・・。
OnPaintに加えて、OnLButtonDownをオーバーライド・・・。
CFrameWnd_.cppでは、
ON_WM_LBUTTONDOWN()をメッセージマップに追加・・・。
コンストラクタで位置座標を0に初期化・・・。
左ボタンが押されると、OnLButtonDownが呼ばれる・・・。
渡されたpointのx, yをそれぞれm_x, m_yに格納・・・。
そのあと、Invalidateを呼んで更新要求・・・。
(InvalidateRectのクライアント領域全体バージョン・・・。)
でOnPaintで、
cstrPointを用意し、Formatで"(x, y) = (%d, %d)"形式で座標(m_x, m_y)を文字列として格納・・・。
そのあと、cstrPointをdc.TextOutで描画・・・。
実行すると、
左上に座標が出ている・・・。初期化されているので(0, 0)・・・。
やや左上のほうで左クリック・・・。
(126, 96)の位置で左クリックされたことがわかる・・・。
右下のほうでも、
(908, 434)で左クリックされたことがわかる・・・。
Sample/CWinApp_.h at master · bg1bgst333/Sample · GitHub
Sample/CWinApp_.cpp at master · bg1bgst333/Sample · GitHub
Sample/CFrameWnd_.h at master · bg1bgst333/Sample · GitHub
Sample/CFrameWnd_.cpp at master · bg1bgst333/Sample · GitHub