1

続行、終了、再試行の 3 つのボタンを作成したかったのです。

MessageBox(NULL, "Loading.. Click ok to continue or Cancel to Exit",   "TITLE", MB_OKCANCEL);

[OK] ボタンと [キャンセル] ボタンを [続行] と [終了] に変更するにはどうすればよいですか??

4

3 に答える 3

2

これはできません。関数はこのMessageBox機能を提供しません。いくつかのストック メッセージ ボックス タイプがありますが、それら以外のカスタム テキストが必要な場合は、運が悪いです。

もちろん、リソース エディターを使用して、いつでも独自のカスタム ダイアログを作成できます。

でサポートされているメッセージ ボックスの種類は次のMessageBoxとおりです。

/*
 * MessageBox() Flags
 */
#define MB_OK                       0x00000000L
#define MB_OKCANCEL                 0x00000001L
#define MB_ABORTRETRYIGNORE         0x00000002L
#define MB_YESNOCANCEL              0x00000003L
#define MB_YESNO                    0x00000004L
#define MB_RETRYCANCEL              0x00000005L
#if(WINVER >= 0x0500)
#define MB_CANCELTRYCONTINUE        0x00000006L
#endif /* WINVER >= 0x0500 */
于 2013-02-19T13:20:02.163 に答える
0

MB_OKCANCEL パラメータは、表示されるボタンを制御するパラメータです。代わりに MB_RETRYCANCEL を試すことができます。

MessageBox(NULL, "読み込み中.. [OK] をクリックして続行するか、[キャンセル] をクリックして終了します", "TITLE",MB_RETRYCANCEL);

また、ボタン自体を変更するよりも、メッセージ ボックス内の質問/テキストを変更する方が簡単な場合があります。

このリンクは、MessageBox 関数の詳細を提供します。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx

于 2013-02-19T10:21:24.777 に答える
0

要件がhttp://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspxのものと一致しない場合は、独自のダイアログ ボックスを作成する必要があります。そして winproc では、さまざまなボタンが押されたときに何をするかを決めることができます。

于 2013-02-19T10:21:43.357 に答える