MessageBox小结
程序员文章站
2022-07-16 13:19:31
...
函数原型:
int MessageBox( HWND hWnd, LPCTSTR lpText, LPCSTR lpCaption,UINT uStyle );
注:应先将项目属性中的字符集属性改为多字符集(Unicode)。
(这里不是MFC封装的函数,你可以在任何源文件中调用,只需要加上#include <windows.h>即可)
MFC中该函数原型为:
int MessageBox(LPCTSTR lpszText,LPCTSTR lpszCaption=NULL,UINT nType = MB_OK);
|
参数
lpszText:指向一个字符串包含要显示的消息。
lpszCaption:指向一个字符串包含标题。
nType:指定消息框的内容和行为。
返回值
指定函数的结果。
用法示例:int result = MessageBox(TEXT("这是对话框"),TEXT("你好"),MB_ICONINFORMATION|MB_YESNO);
参数解释:
- hwnd:父窗口的句柄,为NULL说明消息框没有父窗口;大多数情况下可以省略不写。
- lpText:指向要显示字符串的指针,对框框上显示的信息。
- lpCaption:消息框的标题,即提示框上部分显示的内容。
- uStyle:消息框的内容和行为,即该消息框有几个按钮、文本对齐等状态,可以在20多个属性值中进行组合。
uStyle可以是在WINUSER.H中定义的一组前缀以MB_开始的常数组合,可以使用"或"(|)运算符将下面显示的三组中各选一个常数组合起来指定消息框的内容和形为:
-
// 显示哪些按钮:
-
#define MB_OK 0X00000000L
-
#define MB_OKCANCEL 0X00000001L
-
#define MB_ABORTRERYGNORE 0X00000002L
-
#define MB_YESNOCANCEL 0X00000003L
-
#define MB_YESNO 0X00000004L
-
#define RERYCANCEL 0X00000005L
-
// 焦点在哪个按钮上:
-
#define MB_DEFBUTTON1 0X00000000L
-
#define MB_DEFBUTTON2 0X00000100L
-
#define MB_DEFBUTTON3 0X00000200L
-
#define MB_DEFBUTTON4 0X00000300L
-
// 图示的外观:
-
#define MB_ICONHAND 0x00000010L
-
#define MB_ICONQUESTION 0x00000020L
-
#define MB_ICONEXCLAMATION 0x00000030L
-
#define MB_ICONASTERISK 0x00000040L
-
//图示的某些有替代名称:
-
#define MB_ICONWARNING MB_ICONEXCLAMATION
-
#define MB_ICONERROR MB_ICONHAND
-
#define MB_ICONINFORMATION MB_ICONASTERISK
-
#define MB_ICONSTOP MB_ICONHAND
示例:
-
MessageBox(NULL, "Hello, Windows!","hello", MB_OK );
-
MessageBox(NULL, "Hello, Windows!","HelloMsg", MB_YESNO|MB_ICONEXCLAMATION) ;
-
MessageBox(NULL, "Hello, Windows!","HelloMsg", MB_YESNO|MB_DEFBUTTON1) ;//表示窗口出来后焦点 focus落在Yes(第一个)按钮上
返回值:
-
IDOK -- 1
-
IDCANCEL -- 2
-
IDABORT -- 3
-
IDRETRY -- 4
-
IDIGNORE -- 5
-
IDYES -- 6
-
IDNO -- 7
上一篇: C基本数据类型所占字节数