您的位置:首页 > 其它

AfxMessageBox与MessageBox的区别:

2007-05-28 23:45 429 查看
AfxMessageBox是MFC库提供的全局函数,提供了多种重载形式,而MessageBox是标准的windows Api函数.估计AfxMessageBox 最终还是调用了MessageBox.
AfxMessageBox()函数在任何类里边都可以使用,而MessageBox()函数只能在CWnd类的继承类中使用。另外,AfxMessageBox()函数的参数没有MessageBox()函数的参数丰富,所以后者较前者灵活。
AfxMessageBox不能控制消息框标题,常用于调试程序时的内部数据输出或警告;MessageBox比较正式,常用在要提交的应用程序版本中,可以控制标题内容而不必采用含义不明的可执行文件名为标题。

MessageBox的使用:

int MessageBox( LPCTSTR lpszText, LPCTSTR lpszCaption = NULL,UINT nType =MB_OK );
参数:
lpszText: 消息正文
lpszCaption:消息框标题(默认没有)
nType:消息框的风格

nType取值:
1.消息框的风格
? MB_ICONQUESTION
! MB_ICONWARNING
X MB_ICONHAND or MB_ICONSTOP
i MB_ICONINFORMATION
2.Button Array:
按钮 消息框类型

[YES] [NO] MB_YESNO
[YES][NO][CANCEL] MB_YESNOCANCEL
[RETRY][CANCEL] MB_RETRYCANCEL
[OK] MB_OK
[OK][CANCEL] MB_OKCANCEL
[ABORT][RETRY][IGNORE] MB_ABORTRETRYIGNORE
(想在弹出的对话框中显示的按钮,默认为MB_OK)

Return Values of MessageBox:
Value Meaning

IDABORT Abort button was selected.
IDCANCEL Cancel button was selected.
IDIGNORE Ignore button was selected
IDNO No button was selected.
IDOK OK button was selected
IDRETRY Retry button was selected.
IDYES Yes button was selected

nType中可以组合使用, for examble:
...
int iRes = MessageBox("你看见消息框了吗?","测试",MB_YESNO|MB_ICONWARNING);
if( iRes == IDYES )
MessageBox("看见了就好!");
http://hi.baidu.com/lilac9/blog/item/d8655990cc5e128ca977a4a7.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: