Visual C++ 消息对话框函数 MessageBox

Visual C++提供三个消息对话框函数,他们的原型为

int AfxMessageBox(LPCTSTR lpText, UINT nType = MB_OK, UINT nIDHelp = 0);
int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT nType);
int CWnd::MessageBox(LPCTSTR lpText, LPCTSTR lpCaption = NULL, UINT nType = MB_OK);

parameter:
hWnd:
此参数代表消息框拥有的窗口。如果为NULL,则消息框没有拥有窗口。
lpText:
消息框中要显示的内容。如果使用了Unicode库,则把文本变成:TEXT(/*sometext*/)
lpCaption:
消息框的标题。如果使用了Unicode库,则把文本变成:TEXT(/*sometext*/)
nType:
指定一个决定对话框的内容和行为的位标志集。此参数可以为下列标志组中标志的组合。指定下列标志中的一个来显示消息框中的按钮以及图标。
nIDHelp:
表示信息的上下文帮助。

MFC特例:
假如您创建了一个MFC工程,如果工程文档中有MainFrm.cpp的话,那么,本函数就被封装成了:
int MessageBox(LPCTSTR lpszText,LPCTSTR lpszCaption=NULL,UINT nType = MB_OK);
返回值:指定函数的结果。
下面的例子可以让我们对比两种函数的用法,两行代码的功能都是显示一个消息框,内容为“示例用法”
::MessageBox(NULL, "示例用法", "demo", MB_OK);
MessageBox("示例用法");   //采用了一些C++的语法特性使用消息框用起来更顺手

这 3 个函数分别是 MC 全局函数、Windows API 函数和 CWnd 类的成员函数,他们的功能基本相同,但适用范围有所不同。

AfxMessageBox()和 MessageBox()函数可以在程序的任何地方使用,而 CWnd::MessageBox()函数只能用于控件、对话框、窗口等一些窗口类中。

这 3 个函数都将返回用户选择按钮的情况,如返回值 IDOK、IDCANCEL、IDABORT 分别表示用户按下了 OK、Cancel、Abort 按钮。

uType参数:

按钮参数

含义

MB_OK

默认值。有一个确认按钮在里面。

MB_YESNO

有是和否在里面。

MB_ABORTRETRYIGNORE

有Abort(放弃),Retry(重试)和Ignore(跳过)

MB_YESNOCANCEL

消息框含有三个按钮:Yes,No和Cancel

MB_RETRYCANCEL

有Retry(重试)和Cancel(取消)

MB_OKCANCEL

消息框含有两个按钮:OK和Cancel

图标参数 含义

MB_ICONEXCLAMATION

一个惊叹号出现在消息框

MB_ICONWARNING

一个惊叹号出现在消息框

MB_ICONINFORMATION

一个圆圈中小写字母i组成的图标出现在消息框

MB_ICONASTERISK

一个圆圈中小写字母i组成的图标出现在消息框

MB_ICONQUESTION

一个问题标记图标出现在消息框

MB_ICONSTOP

一个停止消息图标出现在消息框

MB_ICONERROR

一个停止消息图标出现在消息框

MB_ICONHAND

一个停止消息图标出现在消息框
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章