DialogBox

DialogBoxは、指定されたテンプレートやリソースIDのダイアログボックスを作成するWindowsAPI・・・。

DialogBox 関数

前回もDialogBoxを使ったが、戻り値はどうやって返すのだろうか・・・?
実は、EndDialogの第2引数で戻り値となる値を指定するのである・・・。

EndDialog 関数

DialogProcで、

ダイアログのクライアント領域上で、左クリックしたらEndDialogでIDOKを指定する・・・。
これでクリックしたら、"OK"としてダイアログが閉じられる・・・。
(MessageBoxで"OK"が選択されたのと同じ)

閉じるボタンが押されたら、EndDialogはIDCANCEL・・・。
閉じたら、"キャンセル"としてダイアログが閉じられる・・・。
(MessageBoxで"キャンセル"が選択されたのと同じ)

これでDialogBoxを呼んで、

戻り値がIDOKかIDCANCELかを確認する・・・。

f:id:BG1:20150528171653p:plain

ダイアログ上で左クリック・・・、

f:id:BG1:20150528171713p:plain

"IDOK"と表示・・・。

閉じるボタンで閉じると・・・、

f:id:BG1:20150528171752p:plain

"IDCANCEL"と表示・・・。

今回はIDOK, IDCANCELというメッセージボックスなどで使う定数を返したが、当然、普通の整数でも返すことができる・・・。

Sample/DialogBox.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/DialogBox.rc at master · bg1bgst333/Sample · GitHub