CDialog::DoModalは、モーダルダイアログを表示するメンバ関数・・・。
今回は、ダイアログ上でクリックしたら、DoModalの戻り値としてIDOKを返し、閉じるボタンが押したら、IDCANCELを返す・・・。
また、その辺の処理を実装するに当たって、CDialogを継承した派生クラスCDialog_を定義する・・・。
CDialog_.hは、
基底クラスCDialogのコンストラクタに任せるには、リソースIDを渡さなければならないので、
nIDTemplateをそのまま渡して、派生クラス側のコンストラクタに特に処理は実装しない・・・。
IDOKを返すOnLButtonDown、IDCANCELを返すOnCloseを用意・・・。
CDialog_.cppにて、
OnLButtonDown、つまり左クリックされたら、IDOKでEndDialogを呼ぶ・・・。
OnClose、つまり閉じるボタンで閉じられたら、IDCANCELでEndDialogを呼ぶ・・・。
メッセージマクロを忘れずに・・・。
あとは、CFrameWnd_.cppにて、
CDialog_オブジェクトdlg_にIDD_DIALOGを渡し、
DoModalの戻り値がIDOKなら"OK"、IDCANCELなら"キャンセル"と表示する・・・。
Item1-1をクリック・・・。
ダイアログ上の真ん中あたりをクリック・・・。
この場合は"OK"、
閉じるボタンを押すと、
"キャンセル"と出る・・・。
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
Sample/CDialog_.h at master · bg1bgst333/Sample · GitHub
Sample/CDialog_.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/DoModal.rc at master · bg1bgst333/Sample · GitHub