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)


相关推荐

  • 从硬盘上安装Fedora12

    从硬盘上安装Fedora12一、引言Fedora12的liveCD:Fedora-12-i686-Live.iso,至今未硬盘安装成功。在引导过程中,报此类错误:[drm:drm_mode_rmfb]triedtoremoveafbthatwedidntown无奈之下,只好下载Fedora12的DVD版:Fedora12-i386-DVD.iso文件比较大,2G多一些。

  • log4j 配置详解_指定log4j2配置文件位置

    log4j 配置详解_指定log4j2配置文件位置先来个配置文件—-log4j.rootLogger=debug,stdout,logfilelog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.errlog4j.appender.stdout.layout=org.apache.log4j.SimpleLayoutlog4j.appender.logfile=org.apache.log4j.FileAppender

  • linux服务器安装svn超详细介绍

    linux服务器安装svn超详细介绍 #!/bin/shREPOS="$1"REV="$2"exportLANG=en_US.UTF-8LOG_PATH=/tmp/svn.logecho

  • Java在线考试系统(含源码)[通俗易懂]

    Java在线考试系统(含源码)[通俗易懂]本文demo下载和视频教学观看地址:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=1076本实例介绍了在线考

  • 制作简单的贺卡_bootfs和rootfs

    制作简单的贺卡_bootfs和rootfs分析简单的根文件系统中所必须的文件1.1在嵌入式系统中的根文件系统与桌面版的根文件系统文件基本上类似,所以用Ubuntu中根文件系统问模板,进行分析:1.1.1、bin sbin  linuxrc  是必须的,但是这三个目录以及里面的文件都是移植busybox并安装的时候由busybox生成的1.1.2、etc  是很关键很重要的一个。目录中的文件都是运行时配置文件,都是直接…

  • 微信公众号第三方代理平台开发[通俗易懂]

    微信公众号第三方代理平台开发[通俗易懂]第一步:开发前的账号等准备第二部步:开发环境准备第三步:开发1.开发平台搭建1.公众号授权2.公众号token管理3.卡券接口转载于:https://www.cnblogs.com/JustSunh/p/6951192.html…

发表回复

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

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