MFC(Visual C++)でメッセージボックスを表示するAfxMessageBox関数の使い方を紹介します。
メッセージを表示する
AfxMessageBoxの第1引数に表示したい文字列を指定すると、メッセージボックスを表示することができます。
AfxMessageBox(_T("こんにちは"));
メッセージに変数を含めたい場合は、CStringを介します。
CString str;
str.Format(_T("数値:%i"),123);
AfxMessageBox(str);
ボタンの種類を指定する
AfxMessageBoxの第2引数にオプションを指定すると、ボタンの種類を指定できます。
AfxMessageBox(_T("こんにちは"),MB_OK);
Style | 説明 |
---|---|
MB_ABORTRETRYIGNORE | [中止]と[再試行]と[無視] |
MB_OK | [OK] |
MB_OKCANCEL | [OK] と[キャンセル] |
MB_RETRYCANCEL | [再試行]と[キャンセル] |
MB_YESNO | [はい]と[いいえ] |
MB_YESNOCANCEL | [はい]と[いいえ]と[キャンセル] |
アイコンを指定する
ボタンと同様、第2引数にオプションを指定することで、任意のアイコンを表示できます。
AfxMessageBox(_T("こんにちは"),MB_ICONERROR);
MB_ICONEXCLAMATION | 感嘆符アイコン(!) |
MB_ICONINFORMATION | 情報(i) |
MB_ICONQUESTION | 質問(?) |
MB_ICONERROR | エラー(X) |
ボタンとアイコンを指定する
ボタンとアイコンを両方指定したい場合は、|を使ってオプションを指定します。
AfxMessageBox(_T("こんにちは"),MB_OK|MB_ICONERROR);
クリックされたボタンを取得する
AfxMessageBoxから返されるメッセージを比較すると、クリックされたボタンを取得できます。
int re=AfxMessageBox(_T("こんにちは"),MB_YESNO|MB_ICONQUESTION);
AfxMessageBoxは押されたボタンに応じて、次のint型の値を返します。
IDABORT
[中止] ボタンが選択されました。IDCANCEL
[キャンセル] ボタンが選択されました。IDIGNORE
[無視] ボタンが選択されました。IDNO
[いいえ] ボタンが選択されました。IDOK
[OK] ボタンが選択されました。IDRETRY
[再試行] ボタンが選択されました。IDYES
[はい] ボタンが選択されました。
これを比較することで、どのボタンがクリックされたかを判定できます。
int re=AfxMessageBox(_T("こんにちは"),MB_YESNO|MB_ICONQUESTION);
if(re==IDYES){
//「はい」がクリックされたら処理を行う
}
コメント