MessageBox()

语法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,更改工程属性:
        配置属性-常规-字符集: 改为未设置.

你可能感兴趣的:(windows,XP)