【Visual C++】メッセージボックスを表示する(AfxMessageBox)

C++

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){
//「はい」がクリックされたら処理を行う
}

コメント

タイトルとURLをコピーしました