MessageBox用法详解

MessageBox用法详解MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话

大家好,又见面了,我是你们的朋友全栈君。

MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框。
 1、函数原型及参数
 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;
 hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
 Text:欲显示的信息字符串。
 Caption:对话框标题字符串。
 Type:对话框类型常量。
 该函数的返回值为整数,用于对话框按钮的识别。

引数:
1.Text:要显示的信息
2.Caption:信息窗口的标题文字
3.Flags:窗体标志(说明是何种类型的信息窗体)
3.1.可指定信息窗体上的图标
3.2.可指定信息窗体上出现的按钮
3.3.可指定预设Focus在哪一个按钮上
3.4.可指定是否Modal
3.5.其他

 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

指定下列标志中的一个来显示对话框的形态:标志的含义如下:
MB_APPLMODAL:在hwnd参数标识的窗口中继续工作以前,用户一定响应消息框。但 是,用户可以移动到其他线程的窗口且在这些窗口中工作。根据应用程序中窗口的层次机构,用户则以移动到线程内的其他窗口。所有母消息框的子窗口自动地失 效,但是弹出窗口不是这样。如果既没有指定

MB_SYSTEMMODAL也没有指定MB_TASKMOOAL,则MB_APPLMODAL为缺省的。

MB_SYSTEMMODAL:除了消息框有WB_EX_TOPMOST类 型,MB_APPLMODAL和WS_EX_TOPMOST一样。用系统模态消息框来改变各种各样的用户,主要的损坏错误需要立即注意(例如,内存溢 出)。如果不是那些与hwnd联系的窗口,此标志对用户对窗口的相互联系没有影响。

MB_TASKMODAL:如果参数hwnd为NULL,除了所有属于当前线程高层次的窗口足 失效的,MB_TASKMODALL和MB_ApPLMODAL一样。当调用应用程序或库没有一个可以得到的窗口句柄时,使用此标志。但仍需要阻止到调用 应用程序甲其他窗口的输入而不是搁置其他线程。
另外,可以指定下列标志。

对于task而言,是modalform
一般来说,这跟MB_APPLMODAL是等效的,但是当应用程式中的所有
form都隐藏的时候,就必须使用这个,才能达到modal的目的

MB_DEFAULT_DESKTOP_ONLy:接收输入的当前桌面一定是一个缺省桌面。否则,函数调用失败。缺省桌面是一个在用户已经纪录且以后应用程序在此上面运行的桌面。

MB_HELP:把一个Help按钮增加到消息框。选择Help按钮或按F1产生一个Help事件。

MB_RIGHT:将讯息文字向右对齐,文本为右调整。

MB_RTLREADING:用在Hebrew和Arabic系统中从右到左的顺序显示消息和大写文本。

MB_SETFOREGROUND:消息框变为前景窗口。在内部系统为消息个调用SetForegrundWindow函数。

MB_TOPMOST:将讯息视窗提至最前面,消息框用WS_EX_TOPMOST窗口类型来创建MB_SERVICE_NOTIFICATION。

 3、函数返回值
 0            //对话框建立失败
 idOk = 1        //按确定按钮
 idCancel = 2      //按取消按钮
 idAbout = 3       //按异常终止按钮
 idRetry = 4       //按重试按钮
 idIgnore = 5      //按忽略按钮
 idYes = 6        //按是按钮
 idNo = 7        //按否按钮

例子:messagebox(0,’没有选择播放类型’,’错误’,MB_ICONEXCLAMATION );

–Application.MessageBox(‘MessageBox’,’警告’,MB_ICONWARNING+MB_YesNo);
–MessageBox(Form1.Handle,’MessageBox’,’提示’,MB_ICONINFORMATION+MB_OkCancel);
–MessageBox(Form1.Handle,’MessageBox’,’提示‘,MB_ICONINFORMATION+MB_OkCancel+MB_DEFBUTTON2);
— if MessageBox(Form1.Handle,’MessageBox’,’提示’,MB_ICONINFORMATION+MB_OkCancel)= idOk then
     begin
       ShowMessage(‘Ok’);
     end;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155172.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 设计模式之桥接(bridge)模式

    在现实生活中,我们常常会用到两种或多种类型的笔,比如毛笔和蜡笔。假设我们需要大、中、小三种类型的画笔来绘制12中不同的颜色,如果我们使用蜡笔,需要准备3*12=36支。但如果使用毛笔的话,只需要提供3

    2021年12月19日
  • javah是什么命令_SQL命令

    javah是什么命令_SQL命令今天看了《android框架揭秘》一书中的jni这块,按照书上的写法试了试javah命令,  今天通过javah生成h文件时遇到各种问题。不管是javah-classpath参数啊还是别的什么,一直都无法成功通过class文件生成h文件。  想了想应该是路径问题,现在终于成功编译出来了~  先在cmd命令行里面切换到工程的目录  调用javah命令时,j

  • java softReference 详解 .[通俗易懂]

    java softReference 详解 .[通俗易懂]本文介绍对象的强、软、弱和虚引用的概念、应用。1.对象的强、软、弱和虚引用  在JDK1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。

  • 视频编码的常见参数基本概念 –bit rate / frame rate /sample rate等等

    视频编码的常见参数基本概念 –bit rate / frame rate /sample rate等等码率:Bit Rate,指视频或音频文件在单位时间内使用的数据流量,该参数的单位通常是Kbps,也就是千比特每秒。通常2000kbps~3000kbps就已经足以将画质效果表现到极致了。码率参数与视频文件最终体积大小有直接性的关系。  混合码率:Overall Bit Rate,指视频文件中视频和音频混合后的整体平均码率。一般描述一个视频文件的码率都是指OBR,如新浪播客允许的OBR上

  • SpringBoot实现阿里云短信服务

    SpringBoot实现阿里云短信服务SpringBoot实现阿里云短信服务

    2022年10月24日
  • 手把手教你制作网页导航栏

    手把手教你制作网页导航栏手把手教你制作网页导航栏众所周知,导航栏是网页的重要组成部分,本篇文章将会带你由浅入深的制作导航栏,子菜单,样式风格变化等。导航栏的重要部分——ul标签在导航栏中的文字,都是以无序列表ul和li标签实现的。下面通过几个小例子来为大家介绍如何实现网页导航栏的制作。1.用ul标签做一个简单般的菜单样式,首先在一个div盒子里创建一个无序列表,如图所示运行结果如下图所示:2.之后我们可以让列表横过来,需要用到css的浮动样式也就是float标签。我们需要让它向左浮动如图所示:运行结果如

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号