Visual C++ MFC——MessageBox

  MFC中的MessageBox是个很有用的工具,但是如何准确而又正确的使用它则是非常重要。其原型如下:

  int CWnd::MessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption = NULL, UINT nType = MB_OK)

参数说明:

lpszText: 消息框中的消息内容。

lpszCaption: 消息框标题栏标题。默认为NULL,显示项目名称。

nType:消息框样式。默认MB_OK。

返回值为nType消息框样式。例:当点击消息框中的OK按钮,函数将返回IDOK。

消息框样式以及其返回代码列如表-1:

表-1 消息框类型
类型 按钮 返回代码
MB_ABORTRETRYIGNORE Abort, Retry, Ignore IDABORT, IDRETRY, IDIGNORE
MB_OK OK IDOK
MB_OKCANCEL OK, Cancel  IDOK, IDCANCEL
MB_RETRYCANCEL Retry, Cancel IDRETRY, IDCANCEL
MB_YESNO Yes, No IDYES, IDNO
MB_YESNOCANCEL Yes, No, Cancel IDYES, IDNO, IDCANCEL

另外,也可以把MB_SYSTEMMODEL加入到nType中,表示系统模式。而默认情况下,消息框处于应用程序模式。系统模式消息框只用于出现了要求立即引起注意的严重错误情况。

  可以通过给nType使用MB_ICON添加一些消息框图标。如MB_ICONINFORMATION,MB_ICONQUESTION, MB_ICONSTOP等。一个完整的消息框如下所示:

int nFlag = MessageBox("content", "Tip", MB_ICONINFORMATION | MB_YESNOCANCEL);

if(nFlag == IDYES)

{

   //Do somesthing

}

运行结果如图-1所示:

 图-1

 

 由于MessageBox是继承自CWnd类,因此,只有当创建了窗口之后才能调用它。MFC提供了另一个消息框函数——AfxMessage(),它的功能和MessageBox一样,类似一个全局的MessageBox函数。无需创建窗口也可以调用,如应用程序类,文档类,以及其他一些非窗口类。

 

 

你可能感兴趣的:(Visual,C++,MFC)