CClientDCは、クライアント領域のデバイスコンテキストクラス・・・。
OnPaint内では、CPaintDCを使って描画を行った・・・。
CPaintDCのコンストラクタとデストラクタはWindowsAPIのBeginPaintとEndPaintの役割にあたる・・・。
OnPaint以外の場所で描画をしたい場合には、CClientDCを使う・・・。
CClientDCのコンストラクタとデストラクタはWindowsAPIのGetDCとReleaseDCの役割にあたる・・・。
前回、左クリックした位置座標をOnPaint内で描画したが、今回はOnLButtonDown内で描画する・・・。
オーバーライドするのは、
OnLButtonDownだけにする・・・。
で、OnLButtonDownの定義は、
CClientDCオブジェクトdcのコンストラクタでthisを渡すと、GetDCしたことと同じになる・・・。
今回はOnLButtonDownの引数でもらった座標を直接文字列にしてTextOutしている・・・。
でスコープを抜けるとdcは破棄されるので、このときReleaseDCもされる・・・。
実行すると、
今回はOnPaintで何もしてないので最初は表示されない・・・。
真ん中あたりでクリックすると、
クリックされた位置が(556, 272)と表示された・・・。
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