VC中MessageBox的常见用法

时间:2022-08-31 19:31:31

一、关于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也可以点

VC中MessageBox的常见用法的更多相关文章

  1. 转:VC中MessageBox的常见用法

    一.关于MessageBox       消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合.       1.MessageBox("这是一个最简单的 ...

  2. VC&plus;&plus;中MessageBox的常见用法详解

    消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合.         1.MessageBox("这是一个最简单的消息框!");        ...

  3. 【转】VC中MessageBox与AfxMessageBox用法与区别

    原文网址:http://blog.csdn.net/holybin/article/details/28403109 一.MessageBox()用法 1.函数原型 Messagebox函数在Win3 ...

  4. VC中MessageBox与AfxMessageBox用法与区别

    一.MessageBox()用法 1.函数原型 Messagebox函数在Win32 API和MFC里的定义有区别. Win32 API的定义如下: int WINAPI MessageBox(    ...

  5. Guava中Predicate的常见用法

    Guava中Predicate的常见用法 1.  Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...

  6. JAVA中enum的常见用法

    JAVA中enum的常见用法包括:定义并添加方法.switch.遍历.EnumSet.EnumMap 1.定义enum并添加或覆盖方法 public Interface Behaviour{ void ...

  7. C&plus;&plus;Builder中MessageBox的基本用法

    C++Builder中MessageBox的基本用法 返回值:IDYES=Application->MessageBox("","",MBYESNO) i ...

  8. 【转】MessageBox的常见用法

    网址:http://www.douban.com/note/40199603/ 一 函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PCh ...

  9. 【转】C&plus;&plus;:MessageBox的常见用法

    一    函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer; hWnd:对话框父窗口 ...

随机推荐

  1. &lbrack;LintCode&rsqb; Restore IP Address 复原IP地址

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  2. window&period;showModalDialog的传值和返回值

    window.showModalDialog(URL,dialogArgments,features) 打开一个新窗口 URL为要将打开的网页地址. dialogArgments为设定好传递给新视窗网 ...

  3. 【重学计算机】机组D4章:存储系统

    1. 存储系统层次结构 主存速度缓慢的原因:主存增速与CPU不同步,执行指令期间多次访问主存 主存容量不足的原因: 存在制约主存容量的技术因素:如由CPU.主板等相关技术指标规定了主存容量 应用对主存 ...

  4. 5、python的变量和常量

    今天看看python的变量和常量,这是python中最基本的两个概念. 首先先说一下解释器执行Python的过程:    python3 C:\test.py 1. 启动python解释器(内存中) ...

  5. Python 函数介绍

    函数的作用 1.减少重复代码 2.方便修改,更易扩展 3.保持代码一致性 函数的命名规则: 1.函数名必须以下划线或字母开头,可以包含任意字母,数字或下划线的组合,不能使用任何的标点符号. 2.函数名 ...

  6. 线段树(Segment Tree)总结

    0 写在前面 怎么说呢,其实从入坑线段树一来,经历过两个阶段,第一个阶段是初学阶段,那个时候看网上的一些教学博文和模板入门了线段树, 然后挑选了一个线段树模板作为自己的模板,经过了一点自己的修改,然后 ...

  7. Haskell语言学习笔记(37)RWS&comma; RWST

    RWST Monad转换器 RWST Monad转换器是将 ReaderT, WriterT 以及 StateT 这三个Monad转换器的功能集于一体的产物. newtype RWST r w s m ...

  8. jpa动态分页查找

    https://my.oschina.net/buwei/blog/172402 http://www.cnblogs.com/derry9005/p/6282571.html http://2560 ...

  9. Win7操作系统安装IE10提示&OpenCurlyDoubleQuote;安装前需要更新与安装程序版本”

    安装IE10浏览器时提示错误的 Internet Explorer安装程序版本 故障现象: Win7操作系统在安装IE10浏览器时会弹出对话框,提示错误的Ieternet Explorer 安装程序版 ...

  10. maven子模块转化成project

    把maven多模块中的子模块单独形成一个eclipse的project,需要使用导入 选中子模块,右键选择Import... 在选择弹出框中选择Maven--Existing Maven Projec ...