信息对话框是一种最简单的对话框,不需要用户自已创建就可以直接使用,Visual C++提供了相应的函数实现这种编程功能。以下是有关函数的声明。
int AfxMessageBox(LPCTSTR lpText,UINT nType=MB_OK,UINT nlDHelp=0);
int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT nType);
int CWnd::MessageBox(LPCTSTR lpText,LPCTSTR lpCaption=NULL,UINT nType=MB_OK);
这三个函数分别是MFC全局函数、Windows API函数和CWnd类的成员函数,它们的功能基本相同,但适用范围有所不同。AfxMessageBox()和::MessageBox()函数可以在程序中任何地方使用,而CWnd::MessageBox()成员函数只能用于控件、对话框和窗口等一些窗口类中。参数lpText表示信息对话框中要显示的文本串;lpCaption表示对话框的标题,当它为NULL时使用默认标题;hWnd是对话框父窗口的句柄,当它为NULL时表示没有父窗口;nlDHelp表示信息的上下文帮助ID;nType表示对话框的图标和按钮风格。这三个函数都将返回用户选择按钮的情况,如返回值IDOK、IDCANCEL和IDABORT分别表示用户单击了OK、Cancel和Abort按钮。
表1和表2分别列出了信息对话框中用到的图标类型和按钮类型,图标类型参数和按钮类型参数可以用运算符"|"来组合。
表1 信息对话框中可用的图标
表2 信息对话框中常用的按钮
例子:
int nChoice=MessageBox("文件复制失败!","错误",MB_ICONWARNING|MB_ABORTRETRYIGNORE);
switch(nChoice)
{
case IDABORT: //用户单击“终止”按钮
...
case IDRETRY: //用户单击“重试”按钮
...
case IDIGNORE: //用户单击“忽略”按钮
}