zoukankan      html  css  js  c++  java
  • VC中MessageBox的常见用法

    一、关于MessageBox
           消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合。
           1.MessageBox("这是一个最简单的消息框!");
            2.MessageBox("这是一个有标题的消息框!","标题");
            3.MessageBox("这是一个确定 取消的消息框!","标题", MB_OKCANCEL );
           4.MessageBox("这是一个警告的消息框!","标题", MB_ICONEXCLAMATION );
           5.MessageBox("这是一个两种属性的消息框!","标题", MB_ICONEXCLAMATION|MB_OKCANCEL );

           6.if(MessageBox("一种常用的应用","标题",MB_ICONEXCLAMATION|MB_OKCANCEL)==IDCANCEL)
              return;

    附其它常用属性:

           系统默认图标,可在消息框上显示
            X错误 MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR
            ?询问 MB_ICONQUESTION
            !警告 MB_ICONEXCLAMATION and MB_ICONWARNING
            i信息 MB_ICONASTERISK and MB_ICONINFORMATION

           按钮的形式
            MB_OK 默认
            MB_OKCANCEL 确定取消
            MB_YESNO 是否
            MB_YESNOCANCEL 是否取消

            返回值
            IDCANCEL 取消被选
            IDNO 否被选
             IDOK 确定被选
            IDYES 是被选

           注意!!!
           以上消息框的用法是在CWnd的子类中的应用,如果不是,则要MessageBox(NULL,"ddd","ddd",MB_OK); 或MessageBox(hWnd,"ddd","ddd",MB_OK); hWnd为某窗口的句柄,或者直接用AfxMessageBox。

            MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框。
     1、函数原型及参数
     function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;
     hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
     Text:欲显示的信息字符串。
     Caption:对话框标题字符串。
     Type:对话框类型常量。
     该函数的返回值为整数,用于对话框按钮的识别。
     2、类型常量
     对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。
     (1)按钮组合常量
     MB_OK = $00000000;         //一个确定按钮
     MB_OKCANCEL = $00000001;      //一个确定按钮,一个取消按钮
     MB_ABORTRETRYIGNORE = $00000002;  //一个异常终止按钮,一个重试按钮,一个忽略按钮
     MB_YESNOCANCEL = $00000003;     //一个是按钮,一个否按钮,一个取消按钮
     MB_YESNO = $00000004;        //一个是按钮,一个否按钮
     MB_RETRYCANCEL = $00000005;     //一个重试按钮,一个取消按钮
     (2)缺省按钮常量
     MB_DEFBUTTON1 = $00000000;     //第一个按钮为缺省按钮
     MB_DEFBUTTON2 = $00000100;     //第二个按钮为缺省按钮
     MB_DEFBUTTON3 = $00000200;     //第三个按钮为缺省按钮
     MB_DEFBUTTON4 = $00000300;     //第四个按钮为缺省按钮
     (3)图标常量
     MB_ICONHAND = $00000010;        //“×”号图标
     MB_ICONQUESTION = $00000020;      //“?”号图标
     MB_ICONEXCLAMATION = $00000030;    //“!”号图标
     MB_ICONASTERISK = $00000040;      //“i”图标
     MB_USERICON = $00000080;        //用户图标
     MB_ICONWARNING = MB_ICONEXCLAMATION;  //“!”号图标
     MB_ICONERROR = MB_ICONHAND;      //“×”号图标
     MB_ICONINFORMATION = MB_ICONASTERISK; //“i”图标
     MB_ICONSTOP = MB_ICONHAND;       //“×”号图标
     (4)运行模式常量
     MB_APPLMODAL = $00000000;    //应用程序模式,在未结束对话框前也能切换到另一应用程序
     MB_SYSTEMMODAL = $00001000;   //系统模式,必须结束对话框后,才能做其他操作
     MB_TASKMODAL = $00002000;    //任务模式,在未结束对话框前也能切换到另一应用程序
     MB_HELP = $00004000;       //Help Button
     3、函数返回值
     0            //对话框建立失败
     IDOK = 1        //按确定按钮
     IDCANCEL = 2      //按取消按钮
     IDABOUT = 3       //按异常终止按钮
     IDRETRY = 4       //按重试按钮
     IDIGNORE = 5      //按忽略按钮
     IDYES = 6        //按是按钮
     IDNO = 7        //按否按钮

    二、在MessageBox中显示变量的值

          CString string;

          string.format("%d%s",m_age, m_address); //将变量组装到字符串中

           MessageBox(string,"消息框标题",消息框类型);

    、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

    【函数】 <整型> MessageBox(<字符串> Text, <字符串> Title, <整型> nType);
    【函数说明】 弹出一个消息框。
    【语法】
    参数:
    Text <字符串>,消息框的正文;
    Title <字符串>,消息框的标题;
    nType <整型>,消息框的类型。
    返回值:<整型>,用户在消息框上点击关闭时的选择的按钮。
    【说明】
    其中nType对应的对话框如下表所示:
    0: 确定
    1: 确定,取消
    2: 终止,重试,忽略
    3: 是,否,取消
    4: 是,否
    5: 重试,取消
    6: 取消,再试一次,继续(注:Windows NT下不支持)

    返回值对应的值如下:
    1: 确定
    2: 取消
    3: 终止
    4: 重试
    5: 忽略
    6: 是
    7: 否
    10:再试一次

            应用程序中的提示信息处理程序是非常出重要的部分,用户要知道他输入的资料到底正不正确

    ,或者是应用程序有一些提示信息要告诉用户,都必须通过提示信息处理程序来显示适当的信息,

    让用户了解下一步该如何配置。提示信息有很多种类,包括警告,错误,提示,确认,重试等。不

    同种类的提示信息框适合用在各种不同的情况。

      在C++Builder中开发提示信息框只须调用MessageBox这个信息提示框函数就行,下面就是这个

    函数说明:

    int __fastcall MessageBox(const char * Text,//提示信息框的内容

    const char * Caption, //提示信息框的标题

    int Flags); //提示信息框的类别

      参数Flags的值是用来标志提示信息框的类别的,下面是一些常用的类别:

    参数值 样式 意义
    MB_ICONWARNING 含图标、固定按钮 警告信息框
    MB_ICONQUESTION 含图标、固定按钮 疑问信息框
    MB_IConERROR 含图标、固定按钮 错误信息框
    MB_ICONASTERISK 含图标、固定按钮 提示信息框
    MB_HELP 不含图标、可改变按钮 说明信息框
    MB_OK 不含图标、可改变按钮 提示信息框
    MB_OKCANCEL 不含图标、可改变按钮 确认信息框
    MB_RETRYCANCEL 不含图标、可改变按钮 重试信息框
    MB_YESNO 不含图标、可改变按钮 是否信息框
    MB_YESNOCANCEL 不含图标、可改变按钮 是否取消信息框

      从上表可以看出来,提示信息框的类别可以分成含图标和不含图标,含图标的意思就是指提示

    信息框上会有代表意义的图形,不过这类型的提示信息框的按钮都是固定的,都是【确定】按钮,

    不能增加也不能省略;不含图标的提示信息框,虽然没有对应的图形显示在提示信息框上,可是你

    却可以在这种类型的提示信息框内,加入各种组合的按钮,用于各种不同的情况。


    MessageBox函数会返回一个整数值,这个整数值代表用户刚刚点击提示信息框上的哪个按钮,每个

    返回值的代表意义在下表:

    返回值 数值 意义
    IDOK 1 确定
    IDCANCEL 2 取消
    IDABORT 3 中断
    IDRETRY 4 重试
    IDIGNORE 5 忽略
    IDYES 6 是
    IDNO 7 否


    下面是提示信息框的示范程序:

    1. 警告信息框

    Application->MessageBox("警告信息框","警告信息框",MB_ICONWARNING);

    2.疑问信息框

    Application->MessageBox("疑问信息框","疑问信息框",MB_ICONQUESTION);

    3.错误提示框

    Application->MessageBox("错误信息框","错误信息框",MB_IConERROR);

    4.提示信息框

    Application->MessageBox("提示信息框","提示信息框",MB_ICONASTERISK);

    5.说明信息框

    Application->MessageBox("说明信息框","说明信息框",MB_HELP);

    6.提示信息框

    Application->MessageBox("提示信息框","提示信息框",MB_OK);

    7.确认信息框

    Application->MessageBox("确认信息框","确认信息框",MB_OKCANCEL);

    8.重试信息框

    Application->MessageBox("重试信息框","重试信息框",MB_RETRYCANCEL);

    9.是否信息框

    Application->MessageBox("是否信息框","是否信息框",MB_YESNO);

    10.是否取消信息框

    Application->MessageBox("是否取消信息框","是否取消信息框",MB_YESNOCANCEL);

      在C++Builder中,还提供了一个很简单的信息提示框函数,那就是ShowMessage。这个函数只

    有一个字符串参数,你可以把要显示的字符串放到这个字符串参数里面,ShowMessage就回显示出

    该信息,但是没有图标,也没有按钮,只有单纯的字符串信息而已。

    下面是ShowMessage函数的说明:

    extern PACKAGE void __fastcall ShowMessage(const AnsiString Msg);

    例子:

    ShowMessage("这个就是ShowMessage函数生成的信息提示框!");


    Application->MessageBox("AA", "BB", MB_OK | MB_ICONSTOP);

    MessageBox(Application->Handle,"AA", "BB", MB_OK | MB_ICONSTOP);
    这种写法“级别”最高:如果弹出这样的对话框,不点掉,Application下所有的Form都
    不能“动”的。

    MessageBox(Form1->Handle,"AA", "BB", MB_OK | MB_ICONSTOP);
    这种写法“级别”其次:如果弹出这样的对话框,不点掉,只有From1不能“动”,其他
    Show()的From还可以点。

    MessageBox(NULL,"AA", "BB", MB_OK | MB_ICONSTOP);
    这种写法“级别”最低:如果弹出这样的对话框,不点掉,From1也能“动”,其他
    Show()的From也可以点。

  • 相关阅读:
    OleDbCommand 的用法
    递归求阶乘
    C#重写窗体的方法
    HDU 5229 ZCC loves strings 博弈
    HDU 5228 ZCC loves straight flush 暴力
    POJ 1330 Nearest Common Ancestors LCA
    HDU 5234 Happy birthday 01背包
    HDU 5233 Gunner II 离散化
    fast-IO
    HDU 5265 pog loves szh II 二分
  • 原文地址:https://www.cnblogs.com/tuncaysanli/p/1591848.html
Copyright © 2011-2022 走看看