フラグの指定
メッセージボックスはアイコンを変えたりボタンを変えたりできます。
![]() |
AfxMessageBox("「MB_ICONEXCLAMATION」を指定",MB_ICONEXCLAMATION); |
![]() |
AfxMessageBox("「MB_ICONINFORMATION」を指定",MB_ICONINFORMATION); |
![]() |
AfxMessageBox("「MB_ICONQUESTION」を指定",MB_ICONQUESTION); |
![]() |
AfxMessageBox("「MB_ICONSTOP」を指定",MB_ICONSTOP); |
![]() |
AfxMessageBox("「MB_ABORTRETRYIGNORE」を指定",MB_ABORTRETRYIGNORE); |
![]() |
デフォルトの表示
AfxMessageBox("「MB_OK」を指定",MB_OK); |
![]() |
AfxMessageBox("「MB_OKCANCEL」を指定",MB_OKCANCEL); |
![]() |
AfxMessageBox("「MB_RETRYCANCEL」を指定",MB_RETRYCANCEL); |
![]() |
AfxMessageBox("「MB_YESNO」を指定",MB_YESNO); |
![]() |
AfxMessageBox("「MB_YESNOCANCEL」を指定",MB_YESNOCANCEL); |
![]() |
複数ボタンを表示してアイコンを変えたいときは複数のフラグを指定する。AfxMessageBox("「MB_ICONQUESTION」と「MB_YESNOCANCEL」を指定",MB_ICONQUESTION | MB_YESNOCANCEL); |
ボタンに応じた処理
フラグを指定してボタンの数を増やしただけでは意味がありません。押されたボタンに応じて処理を 行う場合は戻り値を取得して分岐処理します。int ret; ret = AfxMessageBox("どれにしますか?",MB_YESNOCANCEL); if(ret == IDYES) { AfxMessageBox("「はい」が押されました"); } else if(ret == IDNO) { AfxMessageBox("「いいえ」が押されました"); } else if(ret == IDCANCEL) { AfxMessageBox("「キャンセル」が押されました"); } else if(ret == IDOK) { AfxMessageBox("「OK」が押されました"); } else if(ret == IDABORT) { AfxMessageBox("「中止」が押されました"); } else if(ret == IDRETRY) { AfxMessageBox("「再試行」が押されました"); } else if(ret == IDIGNORE) { AfxMessageBox("「無視」が押されました"); } else { AfxMessageBox("その他"); }
まだまだ色々あるけど、とりあえずはこれくらい知っていればいいでしょう。