【转】Delphi的消息对话框
Delphi的消息对话框
输入输出inputBox()函数MessageBox()ShowMessage
对话框是Windows操作系统中程序与用户沟通的一种常见的交互方式,对话框可以向用户提供当前程序的运行状况,也可以接受用户输入的信息,在 Delphi中,对话框函数大体上可以分为两种——输入对话框函数和输出对话框函数。
输入对话框函数用于接收用户在程序运行过程中输入的信息,其中包括 InputBox(),InputQuery()函数。
输出对话框函数则用于显示一个对话框窗体和向用户报告当前程序的运行状态等信息,它包括ShowMessage()函数、 MessageDlg()函数。
下面就对各个函数分别加以介绍。
输入:
InputBox()函数
对话框函数中的InputBox()函数用于在程序运行的过程中显示一个包含一个字符串和按钮信息的输入对话框。
它的语法结构如下所示:
function InputBox(const ACaption, APrompt, ADefault: string): string;
下面以一个示例来说明InputBox()函数的用法:
procedure TForm1.Button1Click(Sender: TObject); var str : string; begin str:=inputbox('); edit1.Text:='南山古桃 得到的平方是:' + floattostr(strtofloat(str)*strtofloat(str)); end;
输出:
1.ShowMessage()函数--最常用,最简单
对话框函数中的ShowMessage()函数用于在程序运行的过程中显示包含一个字符串信息的对话框。
它的语法结构如下所示:
ShowMessage(const Msg:string);
如:ShowMessage('南山古桃 问候您!');
2.MessageBox()函数--正式程序时常用此函数输出(个人观点)
例:
--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; //********************************************************************************************************************
在Delphi中输入MessageBox按下F1,会出来帮助,可以查阅具体参数
int MessageBox(
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in
message box
LPCTSTR lpCaption, // address of title of
message box
UINT uType // style of message box
);
Specifies a set of bit flags that determine the contents and behavior of the
dialog box. This parameter can be a combination of flags from the following
groups of flags.
Specify one of the following flags to indicate the buttons contained in the
message box:
Flag Meaning
MB_ABORTRETRYIGNORE The message box contains three push
buttons: Abort, Retry, and Ignore.
MB_OK The message box contains one push button: OK. This is
the default.
MB_OKCANCEL The message box contains two push buttons: OK and
Cancel.
MB_RETRYCANCEL The message box contains two push buttons:
Retry and Cancel.
MB_YESNO The message box contains two push buttons: Yes and
No.
MB_YESNOCANCEL The message box contains three push buttons:
Yes, No, and Cancel.
Specify one of the following flags to display an icon in the message box:
Flag Meaning
MB_ICONEXCLAMATION,
MB_ICONWARNING
An exclamation-point icon appears in the message box.
MB_ICONINFORMATION, MB_ICONASTERISK
An icon consisting of a lowercase letter i in a circle
appears in the message box.
MB_ICONQUESTION A question-mark icon appears in the message
box.
MB_ICONSTOP,
MB_ICONERROR,
MB_ICONHAND
A stop-sign icon appears in the message box.
Specify one of the following flags to indicate the default button:
Flag Meaning
MB_DEFBUTTON1 The first button is the default button.
MB_DEFBUTTON1 is the default unless MB_DEFBUTTON2, MB_DEFBUTTON3, or
MB_DEFBUTTON4 is specified.
MB_DEFBUTTON2 The second button is the default button.
MB_DEFBUTTON3 The third button is the default button.
MB_DEFBUTTON4 The fourth button is the default button.
Return Values
The return value is zero if there is not enough memory to create the message
box.
If the function succeeds, the return value is one of the following menu-item
values returned by the dialog box:
Value Meaning
IDABORT Abort button was selected.
IDCANCEL Cancel button was selected.
IDIGNORE Ignore button was selected.
IDNO No button was selected.
IDOK OK button was selected.
IDRETRY Retry button was selected.
IDYES Yes button was selected.
If a message box has a Cancel button, the function returns the IDCANCEL value
if either the ESC key is pressed or the Cancel button is selected. If the
message box has no Cancel button, pressing ESC has no effect.
//********************************************************************************************************************
3.MessageDlg()函数--南山古桃 不知道为什么出不来中文?
对话框函数中的MessageDlg()函数用于在程序运行的过程中显示包含一个字符串、位图和按钮信息的对话框。
它的语法结构如下所示:
function MessageDlg(const Msg: string; AType: TMsgDlgType; AButtons:
TMsgDlgButtons; HelpCtx: Longint): Word;
下面以一个示例来说明MessageDlg()函数的用法:
procedure TForm1.Button3Click(Sender: TObject);
begin
//显示一个问号和Yes、No两个按钮的输出对话框
if MessageDlg('你想退出本程序吗?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
//如果按下“yes”就显示一个感叹号的输出对话框
MessageDlg('按下OK就退出', mtInformation,
[mbOk], 0);
Close;
end;
end;
在本例中MessageDlg()函数中使用到的参数Atype是TmsgDlgType类型,它的值主要有以下几种:mtWarning、 mtError、mtInformation、mtConfirmation,、mtCustom;而参数Abuttons是 TmsgDlgButtons类型,它的值主要有以下几种:mbYes、mbNo、 mbOK,、mbCancel、mbAbort、mbRetry、mbIgnore、mbAll、mbHelp。大家可以参照上面的代码略作修改来体会一下。
messagebox(handle,pchar('无效的产品信息'+#13#10+'请不要更改注册信息'),pchar('错误'),mb_ok+mb_iconerror+mb_applmodal);
4.MessageDlgPos
MessageDlgPos('控制位置100,200',mtWarning,[mbYes,mbNO],0,
100, 200);
MessageDlgPos('控制位置 屏幕中央',mtWarning,[mbYes,mbNO],0, -1,
-1);
【转】Delphi的消息对话框的更多相关文章
- delphi的消息对话框
delphi的消息对话框,类似VFP中的WAIT和MESSAGEBOXdelphi的消息对话框,类似VFP中的WAIT和MESSAGEBOX1.最简单的是:showmessage() 它只有一个OK按 ...
- Delphi——Window 消息 - 转载▼
Delphi是Borland公司的一种面向对象的可视化软件开发工具. Delphi集中了Visual C++和Visual Basic两者的优点:容易上手.功能强大,特别是在界面设计.数据库编程.网络 ...
- Qt——消息对话框的设计
1.消息对话框是什么 消息对话框(MessageBox)提供了一个模态对话框,用来通知用户某些信息,或者用来询问用户一个问题并获得一个答复. 先看下面2张图—— 第一张图是网易云音乐的界面截图,在删除 ...
- JavaScript入门篇 第二天(消息对话框+网页弹出)
提问(prompt 消息对话框) prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息.弹出消息对话框(包含一个确定按钮.取消按钮与一个文本输入框). 语法: prompt(str1, s ...
- MFC编程入门之十六(对话框:消息对话框)
前面几节讲了属性页对话框,我们可以根据所讲内容方便的建立自己的属性页对话框.本节讲解Windows系统中最常用最简单的一类对话框--消息对话框. 我们在使用Windows系统的过程中经常会见到消息对话 ...
- [转载]ExtJs4 笔记(6) Ext.MessageBox 消息对话框
作者:李盼(Lipan) 出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法 ...
- 弹出消息对话框ScriptManager
//直接调用WebMessageBox方法 #region 弹出消息对话框 /// <summary> /// 弹出消息对话框 /// </summary> /// <p ...
- Delphi TFindDialog TReplaceDialog对话框在Memo中的使用
Delphi TFindDialog TReplaceDialog对话框的使用 下载地址1: http://download.csdn.net/detail/teststudio/6408383 ...
- 确认(confirm 消息对话框)
confirm 消息对话框通常用于允许用户做选择的动作(包括一个确定按钮和一个取消按钮). 语法: confirm(str) str:在消息对话框中要显示的文本 返回值: 当用户点击"确定& ...
随机推荐
- Node.js异常处理
var log4js = require('log4js'); log4js.configure({ appenders: [ { type: 'console' }, { type: 'file', ...
- Hadoop 2.6.0动态添加节点
文章出自:http://my.oschina.net/leoleong/blog/477508 本文主要从基础准备,添加DataNode和添加NodeManager三个部分详细说明在Hadoop2.6 ...
- 关于前置式递增和后置式递增的小知识(++x与x++)
list<char>::iterator pos; //list<char> coll; for(pos=coll.begin();pos!=coll.end();++pos) ...
- 学习Webservice测试
2014-04-01 可用Myeclipse10自带工具生成客户端, 也可用CXF生成,注意,不要用CXF3.0.0milestone,该版本不能生成,请用CXF2.2.8 2015-01-12 下载 ...
- Arch时间校准
sudo ln -s /usr/share/zoneinfo/UTC /etc/localtime sudo hwclock --systohc --utc sudo timedatectl set- ...
- python3 字符串方法(1-15)
1.capitalize() 将字符串的第一个字符改为大写 >>> s='i love cnblog' >>> s.capitalize() 'I love cnb ...
- 项目积累——CSS应用
<tr onmouseover=" this.style.backgroundColor= '#E0FFFF' " onmouseout="this.style. ...
- android项目中如何加载已有so库 <转>
1,在项目根目录下建立文件夹libs/armeabi文件夹 2,将so库放入 libs/armeabi文件夹 注意事项: 1,如果采用静态注册的方式请注意C文件中严格按照命名规则 Java_packa ...
- 慕课网-安卓工程师初养成-3-6 Java中的逻辑运算符
来源: http://www.imooc.com/code/1301 逻辑运算符主要用于进行逻辑运算.Java 中常用的逻辑运算符如下表所示: 我们可以从“投票选举”的角度理解逻辑运算符: 1. 与: ...
- 把jqmobi 變成jQuery 的插件 從此使用jQuery
因為項目的要求,需要用到jQuery 的一些插件 ,而我又是用jqmobi的....o(╯□╰)o 看看文檔.....把jqmobi 變成jQuery的插件 問題就解決了 O(∩_∩)O哈哈~ 官 ...