読者です 読者をやめる 読者になる 読者になる

CDialog

ダイアログクラスCDialogを実装する・・・。

まず、resource.hに、

ダイアログのリソースID、IDD_DIALOGの番号を割り振る・・・。
CDialog.rcのダイアログリソース定義は、

こんな感じ・・・。
Dialog.hで、CDialogは

と定義・・・。
リソースID、アプリケーションインスタンスハンドル、ウィンドウハンドルが要る・・・。
それを受け取るためのコンストラクタが、

でメンバ外だが、

DialogProcを用意・・・。

Dialog.cppで、引数付きコンストラクタは、

DialogProcでは、

WM_LBUTTONDOWN(ダイアログ上でマウス左ボタン)なら、EndDialogにIDOKを指定し、WM_CLOSE(閉じるボタンをクリック)なら、EndDialogにIDCANCELを指定・・・。

このダイアログの生成は、CMenu::OnItem1_1で、

実は、CDialogのローカルオブジェクトdlgのコンストラクタにリソースIDや、アプリケーションインスタンスハンドル、ウィンドウハンドルを指定しているのに、実際はDialogBoxで表示するようにしていたりする・・・。
DoModalは次回実装する・・・。

f:id:BG1:20150624124044p:plain

Item1-1をクリックすると、

f:id:BG1:20150624124935p:plain

ダイアログが表示される・・・。

https://github.com/bg1bgst333/Test/blob/master/winapi/CDialog/CDialog/src/CDialog/CDialog/WinMain.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CDialog/CDialog/src/CDialog/CDialog/Application.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CDialog/CDialog/src/CDialog/CDialog/Application.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CDialog/CDialog/src/CDialog/CDialog/Window.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CDialog/CDialog/src/CDialog/CDialog/Window.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CDialog/CDialog/src/CDialog/CDialog/Menu.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CDialog/CDialog/src/CDialog/CDialog/Menu.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CDialog/CDialog/src/CDialog/CDialog/Dialog.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CDialog/CDialog/src/CDialog/CDialog/Dialog.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CDialog/CDialog/src/CDialog/CDialog/resource.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CDialog/CDialog/src/CDialog/CDialog/CDialog.rc