语法:MessageBox(NULL, "提示信息", "标题", 属性)
值 | 定义 | 说明 |
0 | MB_OK | “确定” |
1 | MB_OKCANCEL | “确定”和“取消” |
2 | MB_ABORTRETRYIGNORE | “终止”、“重试”、“忽略” |
3 | MB_YESNOCANCEL | “是”、“否”和“取消” |
4 | MB_YESNO | “是”和“否 |
5 | MB_RETRYCANCEL | “重试”和“取消” |
值 | 定义 | 说明 |
16 | MB_ICONHAND | 严重警告 |
32 | MB_ICONQUESTION | 询问 |
48 | MB_ICONEXCLAMATION | 一般警告 |
64 | MB_ICONASTERISK | 信息 |
值 | 定义 | 说明 |
1 | IDOK | 确定 |
2 | IDCANCEL | 取消 |
3 | IDABORT | 终止 |
4 | IDRETRY | 重试 |
5 | IDIGNORE | 忽略 |
6 | IDYES | 是 |
7 | IDNO | 否 |
按钮 | 方法 |
第一个 | 默认 |
第二个 | +256 |
第三个 | +512 |
注:属性值可以相加完成组合。
//messge.cpp #include <iostream> #include <windows.h> using namespace std; void check(int n) { switch(n) { case 1:cout << "ÄúÑ¡ÔñÁË\"È·¶¨\"°´Å¥" << endl;break; case 2:cout << "ÄúÑ¡ÔñÁË\"È¡Ïû\"°´Å¥" << endl;break; case 3:cout << "ÄúÑ¡ÔñÁË\"ÖÕÖ¹\"°´Å¥" << endl;break; case 4:cout << "ÄúÑ¡ÔñÁË\"ÖØÊÔ\"°´Å¥" << endl;break; case 5:cout << "ÄúÑ¡ÔñÁË\"ºöÂÔ\"°´Å¥" << endl;break; case 6:cout << "ÄúÑ¡ÔñÁË\"ÊÇ\"°´Å¥" << endl;break; case 7:cout << "ÄúÑ¡ÔñÁË\"·ñ\"°´Å¥" << endl;break; } } int main() { cout << "Hello world!" << endl; int nSelect; /*nSelect = MessageBox(NULL, "MB_OK", "Hello, Windows XP", MB_OK);//0 check(nSelect); nSelect = MessageBox(NULL, "MB_OKCANCEL", "Hello, Windows XP", MB_OKCANCEL);//1 check(nSelect); nSelect = MessageBox(NULL, "MB_ABORTRETRYIGNORE", "Hello, Windows XP", MB_ABORTRETRYIGNORE);//2 check(nSelect); nSelect = MessageBox(NULL, "MB_YESNOCANCEL", "Hello, Windows XP", MB_YESNOCANCEL);//3 check(nSelect); nSelect = MessageBox(NULL, "MB_YESNO", "Hello, Windows XP", MB_YESNO);//4 check(nSelect); nSelect = MessageBox(NULL, "MB_RETRYCANCEL", "Hello, Windows XP", MB_RETRYCANCEL);//5 check(nSelect);*/ MessageBox(NULL, "MB_ICONHAND", "Hello, Windows XP", MB_ICONHAND);//16 MessageBox(NULL, "MB_ICONQUESTION ", "Hello, Windows XP", MB_ICONQUESTION);//32 MessageBox(NULL, "MB_ICONEXCLAMATION ", "Hello, Windows XP", MB_ICONEXCLAMATION);//48 MessageBox(NULL, "MB_ICONASTERISK ", "Hello, Windows XP", MB_ICONASTERISK);//64 for(int i=0;i<=5;i++){ nSelect = MessageBox(NULL, "Please choose", "Hello, Windows XP", i+256); check(nSelect); } return 0; }
补充:如果使用.net2005编译的时候可能会报 error C2664: “MessageBoxW”: 不能将参数 2 从“const char [9]”转换为“LPCWSTR”错误,如果出现错误,在字符串前面加L就可以了。
原因:
工程使用了unicode字符集,
假定你使用的是vs2005,更改工程属性:
配置属性-常规-字符集: 改为未设置.