MessageBox 用法详解与实例

article/2025/10/30 13:34:34

摘自:教育网-自学之路:http://www.selfroad.com.cn/content.asp?id=83

MessageBox这个函数可以在VC里面显示一个标准对话框,是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框。

1函数原型及参数

int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT, uType);
参数含义:
HWND hWnd —— 父窗口的句柄。(在使用的时候发现在CView类里面不要填这一项,但是如果是再其他的类中,就要填写)
LPCTSTR lpText —— 对话框的内容
LPCTSTR lpCaption —— 对话框的标题
UINT uType ——对话框类型常量(窗口的风格)

该函数的返回值为整数,用于对话框按钮的识别。

2 类型常量(窗口的风格)

对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。模式组合时,以或符号“|”为分隔,如:MB_OK|MB_ICONHAND。

(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 //按确定按钮

IDCANSEL = 2 //按取消按钮

IDABORT = 3 //按异常终止按钮

IDRETRY = 4 //按重试按钮

IDIGNORE = 5 //按忽略按钮

IDYES = 6 //按是按钮

IDNO = 7 //按否按钮

4 实例

(1)MessageBox 的返回值

点击按钮,相应返回值,打印出来。

VC++ 6.0 程序:

#include <windows.h>

#include <iostream.h>

int main()

{

cout<<MessageBox( NULL, "返回值确定","MB_OK", MB_OK )<<endl;

cout<<MessageBox( NULL, "返回值确定取消","MB_OKCANCEL", MB_OKCANCEL )<<endl;  

cout<<MessageBox( NULL, "返回值终止重试忽略","MB_ABORTRETRYIGNORE", MB_ABORTRETRYIGNORE )<<endl;  

cout<<MessageBox( NULL, "返回值是否取消","MB_YESNOCANCEL", MB_YESNOCANCEL )<<endl;  

cout<<MessageBox( NULL, "返回值是否","MB_YESNO", MB_YESNO )<<endl;  

cout<<MessageBox( NULL, "返回值重试取消","MB_RETRYCANCEL", MB_RETRYCANCEL )<<endl;

}

VS2005 中:

加载头文件

#include <iostream >

using namespace  std;

#include"tchar.h"

……cout<<MessageBox( NULL, _T("返回值确定"),L"MB_OK", MB_OK )<<endl;……

(2)警告

比如:QQ 给你如下对话框,“由于你废话太多,QQ禁止你发言。/r/n请与腾讯公司联系”,

wps_clip_image-2488

那么VS2005 语句则为:

MessageBox( NULL, _T("由于你废话太多,QQ禁止你发言。/r/n请与腾讯公司联系"),L"QQ", MB_ICONHAND );


http://chatgpt.dhexx.cn/article/nKZhB3LP.shtml

相关文章

MessageBox()用法简介

MessageBox () 功能显示一个消息对话框。 语法 MessageBox (text,title{,icon{,button{,default}}}) 参数title&#xff1a;string类型&#xff0c;指定消息对话框的标题text&#xff1a;指定消息对话框中显示的消息&#xff0c;该参数可以是数值数据类型、字符串或boolean值…

C#中MessageBox用法大全(附效果图)

C#中MessageBox用法大全&#xff08;附效果图&#xff09; 我们在程序中经常会用到MessageBox。 MessageBox.Show()共有21中重载方法。现将其常见用法总结如下&#xff1a; 1.MessageBox.Show("Hello~~~~"); 最简单的&#xff0c;只显示提示信息。 2.MessageBox.S…

C语言基础进阶之 MessageBox()用法简介

MessageBox () 功能显示一个消息对话框。 语法 MessageBox (text,title{,icon{,button{,default }}}) 参数title&#xff1a;string类型&#xff0c;指定消息对话框的标题text&#xff1a;指定消息对话框中显示的消息&#xff0c;该参数可以是数值数据类型、字符串或boolea…

request.getParameter

request.getParameter(“xxx”)的参数的取值的几种可能&#xff1a; Html中form表单中标签的name属性&#xff1a; 请输入用户姓名&#xff1a; request.getParameter(“username”); Html中form表单提交时的action的参数 请输入用户姓名&#xff1a; request.getParamet…

java中的getparameter_Java中request.getParameter(realName)获取参数值为中文时乱码的解决方案...

说明&#xff1a;貌似这个问题绝大多数人都遇到过&#xff0c;开发的时候好好的&#xff0c;部署之后就出问题了&#xff01;原因是因为HTTP请求传输时将URL以ISO-8859-1编码&#xff0c;服务器收到字节流后默认会以ISO-8859-1编码来解码成字符流&#xff0c;所以会造成中文乱码…

HttpServletRequest getParameter 为 null

一、简介 HttpServletRequest 提供了 getParameter 方法&#xff0c;可以非常方便获取请求行/请求体中key/value形式的数据(x-www-form-urlencoded、multipart/form-data&#xff0c;其都是key/value形式&#xff0c;只是对数据编码方式有差别)&#xff0c;对于application/js…

JSP内置对象request——getParameter的使用

文章目录 一、request的作用二、使用步骤 一、request是什么&#xff1f; request对象用来接收客户端提交的各种信息。客户端的请求信息被封装在request中&#xff0c;通过它才能了解到客户的需求&#xff0c;然后作出相应。request是HttpServletRequest类的实例。request具有…

理解Java反射机制

理解Java反射机制 1. 概述2. 反射原理3. 反射的优缺点4. 反射的用途5. 反射相关的类5.1 Constructor5.2 Field5.3 Method5.4 Class类的原理 6. 反射实例6.1 创建对象6.2 获取/修改属性6.3 调用方法6.4 调用内部类 7. 小节 对于Java使用者来说&#xff0c;反射机制可以说是不得不…

Java 反射机制快速入门及常见方法全归纳。

目录 一、反射机制 1、基本介绍 2、原理示意图 3、反射基本代码实现 4、反射性能 二、Class 类 1、基本介绍 2、获取 Class类对象的方式 3、有 Class对象的类 三、类加载 1、基本介绍 2、连接阶段 四、常见方法取类的结构信息 1、常用类的方法 2、通过反射创建对…

利用java反射机制修改属性值

利用java反射机制修改属性值 本文将介绍如何利用java反射机制修改属性值&#xff0c;废话不多说&#xff0c;直接上代码 1、新建一个实体类&#xff0c;添加属性test以及获取属性值的方法getTest() public class ReflectTest {//测试修改属性String test "修改前的值&q…

Java反射机制的基本认识

关于Java类加载 编译&#xff1a;java文件编译后生成class字节码文件类加载机制&#xff1a;JVM把class文件加载到内存&#xff0c;并对数据进行校验、准备、解析、初始化&#xff0c;最终形成JVM可以直接使用的Java类型的过程。 关于Java反射 Java反射机制是在运行状态中&…

Java基础篇:反射机制详解

一、什么是反射&#xff1a; &#xff08;1&#xff09;Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息&#xff0c;从而操作类或对象的属性和方法。本质是JVM得到class对象之后&#xff0c;再通过class对象进行反编译&#xff0c;从而获取对象的各种信息。 …

Java 反射机制与动态代理

1.什么是反射机制&#xff1f; Java反射机制是在运行状态中&#xff0c;对任意一个类&#xff08;class文件&#xff09;都能知道这个类的属性和方法、对于任意一个对象都能调用它的属性和方法&#xff0c;这种动态获取的信息以及调用对象的方法的功能称为Java语言的反射机制。…

java反射机制面试_java反射机制面试题及答案整理,java反射面试题

大家对于java反射机制应该都是很了解的吧&#xff0c;那么下面要给大家分享的就是一组和java反射机制有关的java面试题&#xff0c;下面一起来看看java反射面试题都有哪些吧! java反射机制面试题: 1、java反射机制的作用是什么? 答案&#xff1a;在运行的时候构造任意一个类的…

Java反射机制(简单易懂)

文章目录 前言一、反射机制二、反射的用途三、反射相关的类&#xff08;重要&#xff09;3.1 Class类(反射机制的起源 )3.2 通过反射调用构造方法3.3 通过反射调用普通方法3.4 通过反射调用类属性 四、反射的优缺点总结 前言 博主个人社区&#xff1a;开发与算法学习社区 博主个…

Java反射机制详解

文章目录 1.反射1.1 反射的概述为什么需要反射&#xff1f; 1.2 获取Class类对象的三种方式1.2.1 代码示例 1.3 反射获取构造方法并应用1.3.1 Class类获取构造方法对象的方法1.3.2 代码示例1.3.3 Constructor类用于创建对象的方法1.3.4 代码示例1.3.5 小结 1.4 反射获取成员变量…

Java反射机制

Java反射机制 前言一、反射的概述反射的定义反射的作用 反射的应用场合 二、Java反射机制反射机制原理示意图Java Reflection反射使用步骤 三、 Class类基本介绍常用方法获取Class类对象对象实例化的方式通过反射获取类的相关信息 四、类加载基本说明类加载时机类加载过程图类加…

JAVA反射机制及其原理实现

9.1 概念 JAVA反射机制是在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能够调用它的任意方法和属性&#xff1b;public、protected、private。 OO&#xff08;面向对象&#xff09;&#xf…

day17-基础加强(类加载器和反射)

1.类加载器 1.1类加载器【理解】 作用 负责将.class文件&#xff08;存储的物理文件&#xff09;加载在到内存中 1.2类加载的过程【理解】 类加载时机 创建类的实例&#xff08;对象&#xff09;调用类的类方法访问类或者接口的类变量&#xff0c;或者为该类变量赋值使用反射…

Java-反射机制(超详解)

Java反射机制概述 前言一、Java反射机制概述1. Java Reflection2. 动态语言 vs 静态语言 二、 Class类的理解1. 类的加载过程1.1 初步了解1.2 类的加载过程图解1.3 了解&#xff1a;什么时候会发生类初始化&#xff1f;1.4 类加载器的作用1.5 JVM中不同类型的类的加载器1.6 代码…