一、关于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++中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++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++:MessageBox的常见用法

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

随机推荐

  1. Android游戏源代码合集(主要是AndEngine和Libgdx的)

    近期在网络上看到有网友抱怨Android游戏源代码找不到,所以小弟收集了一些AndEngine和Libgdx的游戏源代码,以Eclipseproject的形式配置好环境,再陆续发出(某引擎避嫌,不在此 ...

  2. OCP解决问题053-16 MEMORY_TARGET

    16.Setting which of the following initialization parameters enables Automatic Memory Management? A. ...

  3. not accessible due to restriction on required library

    The type AWTUtilities is not accessible due to restriction on required library D:\Program Files\jdk1 ...

  4. 【Linux探索之旅】第二部分第三课:文件和目录,组织不会亏待你

    内容简介 1.第二部分第三课:文件和目录,组织不会亏待你 2.第二部分第四课预告:文件操纵,鼓掌之中 文件和目录,组织不会亏待你 上一次课我们讲了命令行,这将成为伴随我们接下来整个Linux课程的一个 ...

  5. C#中的Virtual

    在 C# 中,派生类可以包含与基类方法同名的方法. 基类方法必须定义为 virtual. 如果派生类中的方法前面没有 new 或 override 关键字,则编译器将发出警告,该方法将有如存在 new ...

  6. 什么是PV,UV。

    PV浏览(Page View).该网页访问量,每次页面打开PV统计+1,也刷新. IP接入号码指独立IP接入号码,计算基于独立IP在计算的时间段来计算访问我们的网站1二级IP接入号码. 是否这个计算在 ...

  7. 最短路径:Dijkstra,Bellman,SPFA,Floyd该算法的实施

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzQ4NzA1MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  8. Windows 8实例教程系列 - 布局控制

    原文:Windows 8实例教程系列 - 布局控制 与传统应用类似,Windows store应用允许开发人员通过布局控件管理应用UI. 本篇将讨论Windows8布局设计控制. Windows 8布 ...

  9. ListView 实现多选/无线电

    ListView本身与无线电.多选模式.由listview.setChoiceMode设置: listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE) ...

  10. 2014阿里巴巴web前实习生项目分析(1)

    以下简化CSS代码: div.container{ width:500px; background-image:url(/img/sprite.png); background-repeat:no-r ...