1、AfxMessageBox与MessageBox的区别: AfxMessageBox是MFC库提供的全局函数,提供了多种重载形式,而MessageBox是标准的windows Api函数. 估计AfxMessageBox 最终还是调用了MessageBox. AfxMessageBox()函数在任何类里边都可以使用,而MessageBox()函数只能在CWnd类的继承类中使用。 另外,AfxMessageBox()函数的参数没有MessageBox()函数的参数丰富,所以后者较前者灵活。 AfxMessageBox不能控制消息框标题,常用于调试程序时的内部数据输出或警告;MessageBox比较正式,常用在要提交的应用程序版本中,可以控制标题内容而不必采用含义不明的可执行文件名为标题。 2、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]
[YES][NO][CANCEL]
[RETRY][CANCEL]
[OK]
[OK][CANCEL]
[ABORT][RETRY][IGNORE] (想在弹出的对话框中显示的按钮,默认为MB_OK) Return Values of MessageBox: Value Meaning 返回值
IDABORT
IDCANCEL
IDIGNORE
IDNO
IDOK
IDRETRY
IDYES nType中可以组合使用, for examble: ... int iRes = MessageBox("你看见消息框了吗?","测试",MB_YESNO|MB_ICONWARNING); if( iRes == IDYES ) MessageBox("看见了就好!"); 3、MessageDlg的用法: if
MessageDlg('确定吗?',mtInformation,[mbYES,mbNo],0)=mrYes then mtInformation代表窗口类型.你把光标按到这里按f1就知道有几种类型了. TMsgDlgBtn
Value mbOk |
|