1

我想创建三个按钮继续、退出和重试按钮。

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

如何将确定和取消按钮更改为继续和退出?

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, "加载中。点击确定继续或取消退出", "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 回答