ITメモ
Make SiteMap C++




【C++】メッセージボックス

【C++】
メッセージボックス




メッセージボックス


メッセージボックスを表示させるためのAPI関数は、MessageBox()。
int MessageBox(HWND, LPCTSTR, LPCTSTR, UINT);



第1引数のHWND ウィンドウハンドルを表す型。
表示するメッセージボックスの オーナーウィンドウのハンドルを指定。
メッセージボックスが表示されている間、オーナーウィンドウ側を操作することはできない。
オーナーウィンドウを設定する必要がなければ、第1 引数はNULLを指定。
第2引数のLPCTSTR const char*型。
変更できない文字列。
第2引数に指定するのは、メッセージボックスの中に表示される文字列。
第3引数のLPCTSTR型 LPCTSTR型。
メッセージボックスのタイトルバーに表示される文字列を指定。
第4引数のUINT unsigned int型 符号無しの整数。
メッセージボックスのスタイルを指定。
ここに指定した値に応じて、メッセージボックスが作成される。
戻り値 戻り値はint型ですが、MessageBox()の戻り値は、作成するメッセージボックスのスタイルや、表示された後の ユーザ側の行動に応じて変化。



メッセージボックスのスタイル

メッセージボックスのスタイルは、MessageBox()の第4引数で指定。
定数値 意味
MB_OK 「OK」ボタンを表示。
MB_OKCANCEL 「OK」と「キャンセル」ボタンを表示。
MB_YESNO 「はい」と「いいえ」ボタンを表示。
MB_YESNOCANCEL 「はい」と「いいえ」と「キャンセル」ボタンを表示。
MB_RETRYCANCEL 「再試行」と「キャンセル」ボタンを表示。
MB_ICONWARNING 「!」アイコンを表示。
MB_ICONQUESTION 「?」アイコンを表示。
MB_ICONSTOP 停止マークのアイコンを表示。
MB_ICONINFORMATION ○の中に小文字のiが書かれたアイコンを表示。



MessageBox()の戻り値の利用

ユーザがメッセージボックスのどのボタンを選んだかは、MessageBox()の戻り値で判断。


定数値 意味
IDOK 「OK」ボタンを選択。
IDCANCEL 「キャンセル」ボタンを選択。
IDYES 「はい」ボタンを選択。
IDNO 「いいえ」ボタンを選択。
IDRETRY 「再試行」ボタンを選択。


表示されているメッセージボックスに「はい」ボタンがないのであれば、IDYESが返ってくる可能性は100%ない。
IDCANCELは、「キャンセル」ボタン以外にも、×ボタン、Escキーを押したときにも返されるが、「キャンセル」ボタンそのものが、メッセージ ボックスになければ、返されることはない。