【C++】「Windows」アプリケーションで「メッセージボックス」を表示する方法

【C++】
「Windows」アプリケーションで「メッセージボックス」を表示する方法




「Windows」アプリケーションで、
「メッセージボックス」を表示する方法をまとめています。


プログラムを作成中に、
何かとお世話になる「メッセージボックス」。
値の確認や、挙動のチェックなどに、
「メッセージボックス」を利用します。


「C++」では、
簡単に「メッセージボックスを表示できるようになっています。



詳しくは、
下記をご参照ください。



「メッセージボックス」とは


「メッセージボックス」は、
メッセージを表示するダイアログボックスを表示し、
「メッセージボックス」が表示されている間は、 プログラムの実行が、一時停止され、
「メッセージボックス」が閉じられたら、
プログラムの実行が再開する。

「メッセージボックス」の表示で、
押されたボタンの種類によって、
プログラムを分岐することができる。

プログラム上では、
「メッセージボックス」関数の「返り値」には、
どのボタンを押したかがわかる「定数」が返される。


Back

「メッセージボックス」の書式


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

int MessageBox( HWND ハンドル名,
LPCTSTR テキストor変数,
LPCTSTR テキストor変数,
UINT 定数
);



HWND = オーナーウィンドウのハンドル
LPCTSTR = メッセージボックス内に表示されるテキスト
LPCTSTR = メッセージボックスのタイトル
UINT = メッセージボックス内のスタイル(表示ボタン)の選択



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



「メッセージボックス」の「ボタン表示」を指定する「定数」

メッセージボックスのスタイルは、MessageBox()の第4引数で指定。
定数値意味
MB_CANCELTRYCONTINUE「キャンセル」「再実行」「続行」のボタンを表示。
MB_HELP「ヘルプ」ボタンを追加表示する
MB_OK「OK」ボタンを表示。
MB_OKCANCEL「OK」と「キャンセル」ボタンを表示。
MB_RETRYCANCEL「再実行」「キャンセル」ボタンを表示。
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キーを押したときにも返されるが、「キャンセル」ボタンそのものが、メッセージ ボックスになければ、返されることはない。




Back