一    函数原型及参数 

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        //按否按钮

二    用法

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;

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

二、在MessageBox中显示变量的值

CString string;

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

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

Button  ReturnValue
确定        1
取消        2
放弃        3
重试        4
忽略        5
是          6
否          7

数值与对话框设置
Value    Dialog box buttons
    0    OK button only.
    1    OK and Cancel buttons.
    2    Abort, Retry, and Ignore buttons.
    3    Yes, No, and Cancel buttons.
    4    Yes and No buttons.
    5    Retry and Cancel buttons.

数值与图标设置
Value    Icon
    16    Stop sign.
    32    Question mark.
    48    Exclamation point.
    64    Information (i) icon.

数值与默认值设置
Value    Default button
    0    First button.
    256    Second button.
    512    Third button.

上述各数值就是我们写在MESSAGEBOX()里第2个参数的部分,即楼主的33(=1+32+0)。顺便说一说,两种写法都可以。

而返回值是这样的
Return value    Button
                1    OK
                2    Cancel
                3    Abort
                4    Retry
                5    Ignore
                6    Yes
                7    No

MFC之MessageBox用法的更多相关文章

  1. 转载:MFC之MessageBox、AfxMessageBox用法

    在软件中我们经常会弹出个小窗口,给一点点提示.这就会用到消息对话框. 在Win32 API程序中只有MessageBox这一种用法. 而在MFC中就有三各方法: .调用API中的MessageBox: ...

  2. MFC之MessageBox、AfxMessageBox用法

    在软件中我们经常会弹出个小窗口,给一点点提示.这就会用到消息对话框. 在Win32 API程序中只有MessageBox这一种用法. 而在MFC中就有三各方法: 1.调用API中的MessageBox ...

  3. 消息对话框(MessageBox)用法介绍

    在软件中我们经常会弹出个小窗口,给一点点提示.这就会用到消息对话框. 在Win32 API程序中只有MessageBox这一种用法. 而在MFC中就有三各方法: 1.调用API中的MessageBox ...

  4. C# MessageBox 用法大全(转)

    C# MessageBox 用法大全 http://www.cnblogs.com/Tammie/archive/2011/08/05/2128623.html 我们在程序中经常会用到MessageB ...

  5. paip.c++ qt messagebox用法

    paip.c++ qt messagebox用法 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net ...

  6. C#中MessageBox用法大全(转)

    我们在程序中经常会用到MessageBox. MessageBox.Show()共有21中重载方法.现将其常见用法总结如下: 1.MessageBox.Show("Hello~~~~&quo ...

  7. C#中MessageBox用法大全

    我们在程序中经常会用到MessageBox. MessageBox.Show()共有21中重载方法.现将其常见用法总结如下: 1.MessageBox.Show("Hello~~~~&quo ...

  8. c# MessageBox 用法大全

    我们在程序中经常会用到MessageBox. 1.MessageBox.Show("Hello~~~~"); 最简单的,只显示提示信息. 2.MessageBox.Show(&qu ...

  9. C# winform 中MessageBox用法大全(附效果图) (转载+说明)

    声明:这篇文章是转载的转载的,由于原作者的博客被关闭 我就不再列出了,提前先说明下,if语句中的判断有些太长,建议提前声明一个变量, DialogResult MsgBoxResult;        ...

随机推荐

  1. winform 曲线(贝塞尔) 分类: WinForm 2014-12-29 16:52 109人阅读 评论(0) 收藏

    <span style="font-size:14px;">//覆盖OnPaint事件</span> <span style="font-s ...

  2. win10亮度不能调节的解决方法

    如果大家遇到Win10屏幕亮度调不了,该如何解决呢?以下是电脑百事网小编亲测比较有用的几种方法,希望能够帮助大家. 修改注册表解决Win10屏幕亮度无法调节 1.首先使用 Win+R 组合快捷键打开W ...

  3. iOS截取视频缩略图的两种方法

    前言: 看完了使用MPMoviePlayerController播放在线视频,在实际应用中有时候须要获取视频的缩略图,我们来看看怎样截取指定时间内的视频缩略图. 一  使用MPMoviePlayerC ...

  4. MySQL查询语句执行过程及性能优化(JOIN/ORDER BY)-图

    http://blog.csdn.net/iefreer/article/details/12622097 MySQL查询语句执行过程及性能优化-查询过程及优化方法(JOIN/ORDER BY) 标签 ...

  5. UNIX环境高级编程第二版代码笔记

    1. 第一个程序 gcc 1.1.c  /tmp/ccbnJqcB.o: In function `main': 1.1.c:(.text+0x17): undefined reference to ...

  6. Java基础知识强化之集合框架笔记36:List练习之键盘录入多个数据在控制台输出最大值

    1. 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值 分析: •  创建键盘录入数据对象 •  键盘录入多个数据,我们不知道多少个,所以用集合存储 •  以0结束,这个简单,只要键盘 ...

  7. 《REWORK》启示录 招聘笔杆子——程序员为什么值得写博客

    Hire Great Writers 仿佛这是写给自己看的,不过这在其中也有着相当有趣的意义 .虽然自己算是一个能写的人,或许这算是一种不算才华的才华,写博文的意义通常不会在于去描述自己怎样,怎样.通 ...

  8. log4j中Spring控制台输出Debug级信息过多解决方法

    log4j中Spring控制台输出Debug级信息过多解决方法 >>>>>>>>>>>>>>>>> ...

  9. SQL SERVER字符集的研究(中英文字符集,varchar,nvarchar).

    一. 试验归类测试SQL: drop table a )) insert into a values('a') insert into a values(N'a') insert into a val ...

  10. [转]关于java中的 sychronized 同步方法 与 同步块的理解

    首先,需要说明一点,也是最重要的一点,无论是同步方法 还是 同步块 都是只针对同一个对象的多线程而言的,只有同一个对象产生的多线程,才会考虑到 同步方法 或者是 同步块,如果定义多个实例的同步,可以考 ...