メッセージボックスの使い方 その2(AfxMessageBox)

フラグの指定

 メッセージボックスはアイコンを変えたりボタンを変えたりできます。

	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("その他");
	}


 まだまだ色々あるけど、とりあえずはこれくらい知っていればいいでしょう。

トラックバック

この一覧は、次のエントリーを参照しています: メッセージボックスの使い方 その2(AfxMessageBox):

» メッセージボックスの使い方 その1(AfxMessageBox) 送信元 dinop.com
 メッセージボックスは簡単に使えます。いちばん簡単な使い方はこれです。これだけで... [詳しくはこちら]


カテゴリー「VC++ TIPS」 のエントリー