如何使用C ++中的用户定义按钮创建MESSAGE BOX?

时间:2013-02-19 10:10:55

标签: c++ mfc messagebox

我想创建三个按钮继续,退出并再次尝试按钮。

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

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

3 个答案:

答案 0 :(得分: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 */

答案 1 :(得分: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

答案 2 :(得分:0)

如果您的要求与http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx中的要求不匹配,则必须创建自己的对话框,在winproc中,您可以决定在按下不同按钮时要执行的操作。