Delphi中MessageBox用法
DELPHI控件属性方法事件及常用函数
DELPHI控件属性方法事件及常用函数DELPHI是一种面向对象的编程语言,用于开发Windows平台上的应用程序。
在DELPHI中,控件是程序的可视化部件,用于用户界面的创建和交互。
以下是一些常用的DELPHI控件属性、方法、事件和常用函数的详细介绍。
一、控件属性:1. Name属性:用于指定控件的名称,以便在程序中引用它。
2. Caption属性:用于指定控件的显示文本。
3. Visible属性:用于控制控件是否可见。
4. Enabled属性:用于控制控件是否可用。
5. Color属性:用于指定控件的背景颜色。
6. Font属性:用于指定控件的字体。
7. Width和Height属性:用于指定控件的宽度和高度。
8. Top和Left属性:用于指定控件在父容器中的位置。
9. Parent属性:用于指定控件的父容器。
二、控件方法:1. SetFocus方法:用于使控件获得焦点。
2. Show方法:用于显示当前控件。
3. Hide方法:用于隐藏当前控件。
4. BringToFront方法:用于将当前控件移到其他控件之前显示。
5. SendToBack方法:用于将当前控件移到其他控件之后显示。
6. Invalidate方法:用于使控件的绘制区域无效,触发重绘操作。
三、控件事件:1. OnClick事件:当用户单击控件时触发。
2. OnDblClick事件:当用户双击控件时触发。
3. OnEnter事件:当控件获得焦点时触发。
4. OnExit事件:当控件失去焦点时触发。
5. OnKeyPress事件:当用户按下键盘上的字符键时触发。
6. OnMouseDown事件:当用户按下鼠标按钮时触发。
7. OnMouseUp事件:当用户释放鼠标按钮时触发。
8. OnMouseMove事件:当用户移动鼠标时触发。
四、常用函数:1. ShowMessage函数:用于在屏幕上显示一个消息框。
2. MessageBox函数:用于在屏幕上显示一个消息框,并且返回用户的选择。
Delphidui对话框
大家学习中有什么不明白的可以加我QQ:1889318必须要有黑基VIP ID和密码才能通过验证Delphi程序设计常用组件属性详解(3)使用对话框(消息框)函数与对话框过程对于一些简单信息的输入和输出,可以使用对话框.DELPHI提供的内部对话框有两种:1.信息对话框使用过程SHOWMESAGE, SHOWMESSAGEFMT,函数MESSAGEDLG.MESSAGEDLGPOS,CREATEMESSAGEDIALG.2.输入对话框使用函数INPUTBOX, INPUTQUERY.1).SHOWMESSAGE与SHOWMESSAGEFMT过程SHOWMESSAGE过程显示一个最简单的对话框,其语法格式为:SHOWMESSAGE(信息内容);说明:SHOWMESSAGE过程显示的对话框以应用程序的执行文件名作为标题,对话框只含有一个OK按钮,单击该按钮对话框即关闭并返回.SHOWMESSAGEFMT过程语法格式为:showmessagefmt(信息内容,参数组);说明:此过程与上一个过程其本相同,只是参数多了格式化的字符.例: showmessagefmt(‘%s已进球%d个!’,[‘公牛队’,11]);2)MESSAGEDLG与MESSAGEDLGPOS函数这两个函数可以显示一个信息对话框,并等待用户的响应.MESSAGEDLG函数语法格式为: 变量名:=MESSAGEDLG(信息内容,类型,按钮组,HELPCTX);说明: 信息内容是显示在对话框中的信息.类型是对话框的类型,其取值有:mtwarning含有感叹号的警告对话框.Mterror含有红色叉符号的错误对话框.Mtinfomation含有蓝色I符号的信息对话框.Mtconfirmation含有绿色?号的确认对话框Mtcustiom不含图标的一般对话框,对话框的标题是程序的名称.按钮组指定对话框中出现的按钮组,其中出现的按钮与参数有:MBYES YES按钮,函数返回值为:6MBNO NO按钮,函数返回值为:7大家学习中有什么不明白的可以加我QQ:1889318必须要有黑基VIP ID和密码才能通过验证MBOK OK按钮,函数返回值为:1MBCANCEL CANCEL按钮,函数返回值为:2MBHELP HELP按钮.MBABORT ABORT按钮,函数返回值为:3MBRETRY RETRY按钮,函数返回值为:4MBIGNORE IGNORE按钮,函数返回值为:5MBALL ALL按钮,函数返回值为:8MBNOTOALL NOTOALL按钮,函数返回值为:9MBYESTOALL YESTOALL按钮,函数返回值为:10按钮组可以组成某种形式,如[MBYES,MBNO]表示对话框中出现两个按钮:”YES”和”NO”;也可以常量形式如,MBOKCANCEL表示对话框中出现两个按钮:”OK”和”CANCEL”例: 密码框.procedure TForm1.Button1Click(Sender: TObject);varx:integer;beginif edit1.text='123' thenshowmessage('密码正确,欢迎进入!')elsebeginx:=messagedlg('密码错误,请重新输入!',mterror,[mbyes,mbno],0);if x=6 thenbeginedit1.text:='';edit1.SetFocus;endelseclose;end;end;3.MESSAGEDLGPOS函数调用MESSAGEDLGPOS函数,可以屏幕的指定位置显示信息对话框,其语法格式为:大家学习中有什么不明白的可以加我QQ:1889318必须要有黑基VIP ID和密码才能通过验证变量=MESSAGEDLGPOS(信息内容,类型,按钮组,,HELPCTX,X,Y);它比MESSAGEDLG只是多了一项功能,即具有X,Y显示位置坐标.4.INPUTBOX与INPUTQUERY函数1)INPUTBOX的作用为显示一个输入对话框.格式为: 变量:=INPUTBOX(对话框信息,信息内容,默认内容);对话框信息为指定对话框的标题.信息内容为指定在对话框上出现的文本.默认内容为在出现对话框时自动出现的输入内容.2)INPUTQUERY函数与INPUTBOX相似出现一个输入框.只是对CANCEL按钮(退出事件)另作处理,将返回一个布尔值.格式为: 变量=INPUTQUERY(对话框标题,信息内容,字符串变量);在出现对话框时如果单击OK输入框中的值将赋值到变量中,并且函数返回TRUE;若用户单击CANCEL按钮,变量值不变并返回FALSE;可以根据返回值的不同作出判断.例:procedure TForm1.Button1Click(Sender: TObject);varx:integer;beginx:=strtoint(inputbox('求和','请输入求和值','0'));if x=strtoint(edit1.Text)+strtoint(edit2.Text) thenedit3.Text:='正确'elseedit3.Text:='错误';end;分组控件GROUPBOX.大家学习中有什么不明白的可以加我QQ:1889318必须要有黑基VIP ID和密码才能通过验证也可称之为框架.一般来说此框架的作用是用于对某一组界面的分类,没有实质作用.例如:十一、面板PANEL此面板的功能作相似与GROUPBOX。
Delphi中Messagedlg用法
MessageDlg用法对话框类型:mtwarning——含有感叹号的警告对话框mterror——含有红色叉符号的错误对话框mtinformation——含有蓝色i符号的信息对话框mtconfirmation——含有绿色问号的确认对话框mtcustom——不含图标的一般对话框,对话框的标题是程序的名称按钮组中的按钮:mbYes——mrYes或6mbNo——mrNo或7mbOk——mrOk或1mbCancel——mrCancel或2mbHelp——help按钮mbAbort——mrAbort或3mbRetry——mrRetry或4mbIgnore——mrIgnore或5mbAll——mrAll或8mbNoToAll——9mbYesToAll——10procedure TForm1.Button1Click(Sender: TObject);varS:string;beginif MessageDlg('提示框',mtInformation,[mbok,mbyes],0)=mryes thenmessagebeep(MB_ICONEXCLAMATION);end;TMsgDlgType = (mtWarning, mtError, mtInformation, mtConfirmation, mtCustom);TMsgDlgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp);constmrNone = 0;mrOk = idOk;mrCancel = idCancel;mrAbort = idAbort;mrRetry = idRetry;mrIgnore = idIgnore;mrYes = idYes;mrNo = idNo;mrAll = mrNo + 1;mrNoToAll = mrAll + 1;mrYesToAll = mrNoToAll + 1;MessageDlg()信息的汉化Delphi中的常量都放在consts.pas中,修改它可以达到汉化的目的.如: MessageDlg()显示的窗口标题及其中的按钮标题都是英文,虽然不影响使用,但在一个中文软件中总显得有些不协调.为此在consts.pas中查找以下内容:"SMsgDlgWarning"把SMsgDlgWarning = 'Warning';SMsgDlgError = 'Error';SMsgDlgInformation = 'Information';SMsgDlgConfirm = 'Confirm';SMsgDlgYes = '&Yes';SMsgDlgNo = '&No';SMsgDlgOK = 'OK';SMsgDlgCancel = 'Cancel';SMsgDlgHelp = '&Help';SMsgDlgHelpNone = 'No help available';SMsgDlgHelpHelp = 'Help';SMsgDlgAbort = '&Abort';SMsgDlgRetry = '&Retry';SMsgDlgIgnore = '&Ignore';SMsgDlgAll = '&All';SMsgDlgNoToAll = 'N&o to All';SMsgDlgYesToAll = 'Yes to &All';改成SMsgDlgWarning = '警告'; SMsgDlgError = '错误'; SMsgDlgInformation = '提示'; SMsgDlgConfirm = '确认'; SMsgDlgYes = '是(&Y)';SMsgDlgNo = '不(&N)';SMsgDlgOK = '确定'; SMsgDlgCancel = '取消'; SMsgDlgHelp = '帮助(&H)'; SMsgDlgHelpNone = '没有该帮助信息'; SMsgDlgHelpHelp = '帮助'; SMsgDlgAbort = '放弃(&A)'; SMsgDlgRetry = '重试(&R)'; SMsgDlgIgnore = '忽略(&I)'; SMsgDlgAll = '全部(&A)'; SMsgDlgNoToAll = '全都不(&O)'; SMsgDlgYesToAll = '全都是(&A)';然后重新编译Consts.pas,把Consts.duc拷到delphi的lib和slib子目录下,就一劳永逸啦!。
MessageBox用法大全
MessageBox⽤法⼤全//1、显⽰提⽰信息MessageBox.Show("Hello World!");//2、给消息框加上标题MessageBox.Show("Hello World!", "提⽰");//3、给消息框加上ICONMessageBox.Show("是否删除这个⽤户?", "提⽰", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);//4、设置MessageBox的默认焦点MessageBox.Show("是否删除这个⽤户?", "提⽰", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);//5、添加帮助按钮MessageBox.Show("Hello World!", "提⽰", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.RtlReading, true);//6、帮助按钮打开指定路径MessageBox.Show("Hello World!", "提⽰", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.RtlReading,@"C:\Users\Dream\Desktop\xinjian.txt //MessageBox的返回值//当⽤户点击的按钮是确定时会进⾏如下的操作,询问是否删除if (MessageBox.Show("是否删除这个⽤户?", "提⽰", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK){MessageBox.Show("⽤户已删除!", "提⽰", MessageBoxButtons.OK, rmation);}//7、MessageBox的返回值// 当⽤户点击的按钮是确定时会进⾏如下的操作,询问是否删除DialogResult dr = MessageBox.Show("是否删除这个⽤户?", "提⽰", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);if (dr == DialogResult.OK){MessageBox.Show("⽤户已删除!", "提⽰", MessageBoxButtons.OK, rmation);}。
messagebox 用法详解与实例
文章主题:messagebox 用法详解与实例1. 什么是messagebox?messagebox 是一种常用的对话框控件,用于在计算机应用程序中向用户显示信息和提示,通常包括消息文本和一些按钮供用户选择。
2. messagebox 的基本用法在Python中,可以使用Tkinter库中的 messagebox 模块来创建对话框。
常见的对话框类型有:showinfo、showwarning、showerror、askquestion、askyesno等。
下面通过几个实例来具体介绍。
3. 实例一:showinfo使用 showinfo 函数可以创建一个包含指定信息的信息对话框,示例代码如下:```pythonfrom tkinter import messageboxmessagebox.showinfo("Wee", "欢迎来到我的程序!")```运行程序后,会弹出一个标题为“Wee”的对话框,内容是“欢迎来到我的程序!”4. 实例二:askquestion使用 askquestion 函数可以创建一个包含指定问题的询问对话框,示例代码如下:```pythonfrom tkinter import messageboxresponse = messagebox.askquestion("确认", "您确定要退出程序吗?")if response == "yes":print("用户选择退出程序。
")else:print("用户选择取消。
")```运行程序后,会弹出一个标题为“确认”的对话框,内容是“您确定要退出程序吗?”用户点击“是”或“否”按钮后,程序会相应地输出相应的信息。
5. messagebox 的个人观点和理解在我的实际开发中,messagebox 是一个非常实用的工具,可以方便地与用户进行交互。
delphi messagebox用法
文章标题:深入探讨Delphi中MessageBox的用法及其实际应用在Delphi编程语言中,MessageBox是一个非常常见且实用的函数,用于在程序中显示各种提示、警告和错误信息。
在本文中,我们将从浅入深地探讨MessageBox的使用方法及其实际应用。
1. MessageBox的基本语法在Delphi中,使用MessageBox函数可以在程序中创建一个消息框来显示提示信息。
其基本语法如下:```ShowMessage('这是一个简单的提示信息');```上面的代码将在程序中弹出一个消息框,显示内容为“这是一个简单的提示信息”。
2. MessageBox的参数MessageBox函数还可以接受多个参数,以便实现更丰富的提示信息展示。
常用的参数包括:- 弹出消息框的标题- 指定显示的消息内容- 消息框的类型(比如信息、警告、错误等)- 消息框的按钮类型(比如确定、取消、是、否等)3. MessageBox的实际应用在实际开发中,MessageBox函数可以帮助程序员完成很多任务,比如:- 在用户操作错误时给出友好的提示- 在程序出现异常时提醒用户- 在特定条件下展示重要的信息4. MessageBox的深入使用除了基本的使用方法,MessageBox还可以通过结合其他功能来实现更复杂的效果。
比如可以在MessageBox弹出后执行一些额外的逻辑,或者定制化消息框的外观和行为。
5. 个人观点和总结对于MessageBox的用法,我的个人观点是,在实际开发中要灵活运用MessageBox函数,根据不同的场景和需求来选择合适的参数和样式,以展现出更好的用户体验。
也要注意不要过多地使用MessageBox,以免影响用户的操作流畅性。
通过本文的阐述,相信大家对Delphi中MessageBox的用法有了更深入的了解。
在实际开发中,熟练掌握MessageBox函数的使用方法将有助于提高程序的用户友好性和交互性。
delphi常用语句
delphi常用语句1、显示窗体:Frm_DBBind:=TFrm_DBBind.create(self);with frm_DBBind dobeginshowModal;free;end;2.当窗体不能关闭时,在其OnClose事件中释放action:=caFree;3.删除前的提示,在beforeDelete事件中if messageBox(handle, '删除不能恢复,确认删除吗?', '确认', mb_YesNo)<>idYes then abort; //Abort终止4.调节记录with qry_Main do if not isEmpty then first;with qry_Main do if not isEmpty then last; //最后一条记录with qry_Main do if not bof then Prior; //移动到上一条纪录with qry_Main do if not eof then next; //下一条记录5.撤销操作if qry_Main.state in [dsEdit,dsInsert] then qry_Main.cancel; //撤销//with qry_Main do if state in [dsEdit,dsInsert] then cancel;6.保存、删除、添加with qry_Main do if state in [dsEdit,dsInsert] then post; //若处在修改、增加状态,则提交with qry_Main do if not isEmpty then delete; //非空,删除with qry_Main do insert;7.打开数据集with qry_Main dotryclose;if not connection.Connected then connection.Open; //打开数据连接//打开数据集sql.Clear;sql.text:='select * from langDefault as bases where 1=1 ';//sql.Add(' and sForm=''Frm_MDI'' or sForm='+quotedStr('Frm_MDI')); //两者是等效的,两个单引号表示一个单引号if (txt_Form.text<>'') then sql.add(' and sForm like '+quotedStr(txt_Form.text+'%')); //Access用星号表示模糊查询sql.Add(' order by sForm ');open;//设置打开的数据集的外观for i:=0 to fieldCount-1 dofields[i].DisplayWidth:=10;//设置某些字段的标题f:=findField('一个不存在的字段');F:=findField('sForm'); //查找字段,找不到返回nullif assigned(F) then f.DisplayLabel:='窗体名称'; ////直接设置fieldByName('sCaption').DisplayLabel:='标题';fieldByName('sCaption').DisplayWidth:=20; //特别宽//隐藏字段if assigned(findField('nID')) then fieldByName('nID').Visible:=false; //隐藏setFieldView(qry_Main, 'nID', '', -1, false);//保险的一种方式gs_DataFunction.SetFieldView(Qry_Main, 'lForm', '是否窗体',16, true);excepton x:Exception do showMessage('打开出错:'+x.Message);end8.打印var s:string;s:=extractFilePath(application.ExeName)+'语言设置.rmf'; //取当前目录的文件名rpt_Main.LoadFromFile(s); //加载文件//打印参数rpt_Main.PrinterName:=cbx_Printer.Text; //默认打印机rpt_Main.DefaultCopies:=strT oIntDef(txt_Copies.Text,1); //默认打印份数//预览或直接输出if chk_Preview.checked then rpt_Main.ShowReport else rpt_Main.PrintReport; //预览,或者直接打印窗体创建时候cbx_Printer.Items.Assign( printers.Printer.Printers ); //本机安装的打印机列表if cbx_Printer.Items.Count>0 then cbx_Printer.ItemIndex:=printers.Printer.PrinterIndex else cbx_Printer.Text:=''; //默认打印机txt_Copies.text:='1';9.导出Excelif not saveDialog1.Execute then exit;with qry_Main do beginif isEmpty then exit; //无数据不需要处理screen.Cursor:=crHourGlass; //指针变成玻璃杯//ExportExcelDB(qry_Main, saveDialog1.FileName, false);//完成screen.Cursor:=crDefault; //鼠标指针改回来end;ini文件操作:uses iniFiles;publicmyini:TiniFile;vstr,pwd:string;vi:integer;vb:boolean;end;myini:=TiniFile.Create('F:\my.ini');//建立连接tryvi:=myini.ReadInteger('stu','ID',-1); //读取vstr:=myini.ReadString('stu','Name','No name');excepton x:Exception do showmessage('s:'+x.Message);end;vstr:='liuhong';myini.WriteString('stu','Name',vstr); //写入myini.WriteString('pwd','pwd','456'); //当不存在时候,自动创建myini.free;//释放。
5对话框的使用---捕获异常(精)
能
DELPHI对话框的使用
对话框的使用
OpenPictureDialog对话框
procedure TForm1.Button1Click(Sender: TObject); begin if OpenPictureDialog1.Execute then begin Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); end; end;
ColorDialog对话框
DELPHI对话框的使用
对话框的使用
FontDialog对话框
说明:颜色 对话框
属 性 Color
功 颜色
能
DELPHI对话框的使用
对话框的使用
FontDialog对话框—例:
DELPHI对话框的使用
PrintDialog对话框
DELPHI对话框的使用
对话框的使用
procedure TForm1.Button1Click(Sender: TObject); begin if form1.FontDialog1.Execute then begin bel1.Font:=form1.FontDialog1.Font; end; end;
DELPHI对话框的使用
DELPHI对话框的使用
DELPHI对话框的使用
DELPHI对话框的使用对话 Nhomakorabea的使用DELPHI对话框的使用
OpenDialog对话框
DELPHI对话框的使用
对话框的使用
OpenDialog对话框
说明:打开对话框
属 性 Filename Filter Filterindex Initiadir Title
在Delphi中使用对话框
end;
finally
frmUserData.Free;
end;
end;
End.
private
{ Private declarations }
public
{ Public declarations }
nd;
function GetUserData(var aUserName: String;var aUserID: Integer): Word;
在Delphi中使用对话框2006-10-08 14:481、procedure ShowMessage(const Msg: string);
showMessage('Hello,World!');
2、function MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;
if MessageDlg('文档被修改,是否保存?',mtConfirmation,[mbYes,mbNo],0,mbYes)=mrYes then
3、模式窗体实例化函数
所有窗体单元都应当含有实例化函数,用于创建、设置、模式显示和释放窗体。这个函数将返回由窗体返回的模式结果。传递给这个函数的参数遵循参数传递的规则。之所以要这样封装,是为了便于代码的重用和维护。
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
delphi tmaskedit用法
delphi tmaskedit用法
Delphi TMaskEdit是一个掩码输入框组件,用于接收指定格式的数据输入。
以下是TMaskEdit的用法:
1. 在Delphi窗体中添加TMaskEdit组件。
可以在组件面板中找到它。
2. 设置掩码格式。
在TMaskEdit的Properties面板中找到Mask属性,可以将其设置为任何格式的输入。
例如,设置为“(000) 000-0000”将只允许用户输入10位电话号码。
3. 设置提示文本。
PromptChar属性可以设置掩码之外的提示字符,例如“( ) ___-____”。
4. 通过代码控制输入。
使用TMaskEdit组件的Text属性可以获取或设置文本框中的值,使用IsValidInput方法可以在运行时验证用户在掩码格式之内的输入。
5. 使用常见的键盘事件。
使用KeyDown和KeyPress事件来控制按键输入,并使用Change事件来在文本框的内容发生更改时做出反应。
6. 设置输入选项和限制。
InputChar属性可以限制输入字符的类型,例如数字或字母,MaxLength属性可以限制文本框中输入的最大字符数。
总之,通过TMaskEdit掩码输入框组件,可以轻松地设置复杂的输入格式,并控制用户的输入,同时保持准确。
Delphi中MessageBox使用详解
Delphi中MessageBox使用详解在Delphi中,MessageBox是一个用于显示消息框的函数。
消息框是一个常见的交互式对话框,用于向用户显示信息并等待用户响应。
MessageBox函数可以用于显示不同类型的消息框,包括警告、确认、错误等类型。
MessageBox函数有多个参数,包括消息文本、标题、按钮和图标等。
下面我们将详细介绍这些参数的使用。
1.消息文本:MessageBox函数的第一个参数是消息文本,即要显示给用户的消息内容。
消息文本可以是一个字符串常量或变量。
例如:```DelphiMessageBox(0, 'Hello world', 'Message', MB_OK);```这个示例代码将在消息框中显示"Hello world"。
2.标题:MessageBox函数的第二个参数是消息框的标题。
标题是可选的,如果不提供标题,默认为"Message"。
标题可以是一个字符串常量或变量。
3.按钮:MessageBox函数的第三个参数用于指定要显示的按钮。
有多种按钮类型可供选择,包括OK、Cancel、Yes、No等。
可以使用按位或运算符(,)将多个按钮组合在一起。
例如:```DelphiMessageBox(0, 'Are you sure?', 'Confirmation', MB_YESNO);```这个示例代码将显示一个带有"Yes"和"No"两个按钮的确认消息框。
4.图标:MessageBox函数的第四个参数用于指定要显示的图标。
有多种图标类型可供选择,包括信息、警告、错误等。
可以使用按位或运算符(,)将多个图标组合在一起。
例如:```DelphiMessageBox(0, 'Error occurred!', 'Error', MB_ICONERROR);```这个示例代码将显示一个带有错误图标的错误消息框。
DELPHI中的自定义通用对话框处理
DELPHI中的自定义通用对话框处理和消息处理一、自定义通用对话框在Delphi的VCL的Dialog包中存在多个通用对话框,比如TopenDialog(文件选择对话框)、TsaveDialog(文件保存对话框)、TopenPictureDialog(图片打开对话框)、TfontDialog(字体选择对话框)、TfindDialog(文件查找对话框)、TreplaceDialog(文件替换对话框)等13个常用、通用的标准对话框,这里的标准对话框采用的是Windows系统内置的标准对话框,对话框的风格和样式和操作系统的风格和样式是一致的,之所以能够保持一致,是因为通用对话框是由通过对话框模版生成的窗体,只不过这些对话框模版由操作系统定义。
建立自定义通用对话框有两种方式:1、修改通过对话框模版来实现的;2、通过代码在运行时添加控件;这里首先介绍一下通过对话框模板方式的实现步骤:1、对话框模板方式Delphi的通用对话框位于Delphi系统库的VCL.Dialogs单元,Delphi 中所有通用对话框类都继承自TCommonDialg 抽象类,以TfindDialog为例,可以看到创建查找兑换的结构信息如下:tagFINDREPLACEW = packed recordlStructSize: DWORD; { size of this struct $20 }hWndOwner: HWND; { handle to owner's window }hInstance: HINST; { instance handle of.EXE thatcontains cust. dlg. template }Flags: DWORD; { one or more of the fr_?? }lpstrFindWhat: PWideChar; { ptr. to search UnicodeString }lpstrReplaceWith: PWideChar; { ptr. to replace UnicodeString }wFindWhatLen: Word; { size of find buffer }wReplaceWithLen: Word; { size of replace buffer }lCustData: LPARAM; { data passed to hook fn. }lpfnHook: function(Wnd: HWND; Message: UINT; wParam: WPARAM; lParam: LPARAM): UINT stdcall;{ ptr. to hook fn. or nil }lpTemplateName: PWideChar; { custom template name }在这个抽象类中定义了PWideChar 类型的Template属性,这个属性就是用来存放模版标识的,通过在IDE中对操作系统标准的对话框模板进行修改,因为lpTemplateName是保护属性,所以需要对通用对话框进行继承,继承的类中定义好TemplateRes属性,将修改好的模板赋给TemplatesRes属性,例如:TemplateRes := Windows.MakeIntResource(131);其中131为资源ID。
Delphi7程序设计第4章
内容提要
使用Delphi7内建的信息对话框函数 Delphi7内建的信息对话框函数 Delphi7 Delphi 通用对话框 多重窗体设计
4.1 Delphi7内建的对话框函数 Delphi7内建的对话框函数
在Delphi 7中,提供了几个直接显示内建信 息对话框的函数。这些函数分别是 ShowMessage,ShowMessagePos,ShowMessa gFmt,MessageDlg,MessageDlgPos,Message Dlg,MessageDlgPos,MessageDlgPosHelp,Me ssageBox,InputBox和InputQuery等。下面就 分别介绍这些对话框。
图4 - 1
ShowMessage函数弹出的对话框 ShowMessage函数弹出的对话框
4.1.2 ShowMessagePos函数 ShowMessagePos函数
ShowMessagePos函数ShowMessage函数也类 似,不过多了一个显示格式参数。通过该函数可以 输出一些字符串进行格式化后的值。 ShowMessagePos函数定义如下:
4.2.1 TOpenDialog 和 TSaveDialog组件 TSaveDialog组件
(3)FileName 属性:是用户选择或者输入的文件名称,它可 返回最近一次选择的文件的名称和完整目录路径。 (4)Filter 属性:该属性提供了文件过滤器。 (5)FilterIndex 属性:该属性可预先设置对话框打开时所 使用的过滤器。 (6)Title 属性:该属性可以在程序中改变对话框的标题条 中的内容。默认情况下,打开对话框(OpenDialog)的标题为 “打开”;保存对话框(SaveDialog)的标题为“另存为”。 (7)Options 属性:该属性决定对话框的显示和行为方式。 它是集合类型,包含很多对话框的细节设置,其取值及含义如 表4-9 所示。
DelphiApplicationMessagebox参数详解及应用实例
DelphiApplicationMessagebox参数详解及应用实例DelphiApplication MessageboxApplication.MessageBox 是 TApplication 的成员函数,宣告如下:function TApplication.MessageBox(const Text,Caption: PChar; Flags: Longint): Integer;自变量:1. Text:要显示的讯息2. Caption:讯息窗口的标题列文字3. Flags:讯息旗标3.1. 可指定讯息窗口上的图标3.2. 可指定讯息窗口出现的按钮3.3. 可指定预设Focus在哪一个按钮3.4. 可指定是否 Modal3.5. 其它自变量说明:Text、Caption 自变量为 PCahr 型态,字符串型态的变量可用 PChar()转换,若直接传入一个字符串的话,就不用转型。
例如:var s: string;....s := '存档失败';Application.MessageBox(PChar(s), '错误', MB_ICONERROR);Flag 自变量为 Longint 型态,可用的传入值有:1. 指定讯息窗口上的图标1.1 MB_ICONEXCLAMATION 或 MB_ICONWARNING出现「黄三角形内有一个惊叹号」图示1.2 MB_ICONINFORMATION 或 MB_ICONASTERISK出现「白色椭圆内有一个蓝色小写 i」图示1.3 MB_ICONQUESTION出现「问号」图示1.4 MB_ICONSTOP 或 MB_ICONERROR 或 MB_ICONHAND出现「红色X」图示2. 指定讯息窗口出现的按钮2.1 MB_ABORTRETRYIGNORE出现「Abort」「Retry」「Ignore」三个按钮2.2 MB_OK出现「Ok」按钮,为默认值。
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);varstr : string;beginstr:=inputbox('南山古桃的对话框','请输入要平方的数据','0');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 thenbeginShowMessage('Ok');end;//********************************************************************************* ***********************************在Delphi中输入MessageBox按下F1,会出来帮助,可以查阅具体参数int MessageBox(HWND hWnd, // handle of owner windowLPCTSTR lpText, // address of text in message boxLPCTSTR lpCaption, // address of title of message boxUINT 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 MeaningMB_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 MeaningMB_ICONEXCLAMATION,MB_ICONWARNINGAn exclamation-point icon appears in the message box.MB_ICONINFORMATION, MB_ICONASTERISKAn 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_ICONHANDA stop-sign icon appears in the message box.Specify one of the following flags to indicate the default button:Flag MeaningMB_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 ValuesThe 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 MeaningIDABORT 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()函数用于在程序运行的过程中显示包含一个字符串、位图和按钮信息的对话框。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Caption:对话框标题字符串。
Type:对话框类型常量。
该函数的返回值为整数,用于对话框按钮的识别。
2、类型常量
对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。
(1)按钮组合常量
MB_OK = $00000000 //一个确定按钮 默认
Delphi中MessageBox用法Delphi 2010-08-02 16:57:55 阅读577 评论0 字号:大中小 订阅 .
转载于网络
在delphi中经常要用到一个提示对话框,根据用户选择执行不同的命令,MessageBox就是常用的对话框,它不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框。
应用实例:
Application.MessageBox('你确定此操作吗?','询问',MB_OK);//只有一个确定按钮
MessageBox(0,'你确定此操作吗?','询问',MB_OK); //只有一个确定按钮
MessageBox(0,'你确定此操作吗?','询问',1); //确定取消(如果不带图标,也可以用数字)
IDAbout = 3 //按异常终止按钮
IDRetry = 4 //按重试按钮
IDIgnore = 5 //按忽略按钮
IDYes = 6 //按是按钮
IDNo = 7 //按否按钮
(4)运行模式常量
MB_APPLMODAL = $00000000; //应用程序模式,在未结束对话框前也能切换到另一应用程序
MB_SYSTEMMODAL = $00001000; //系统模式,必须结束对话框后,才能做其他操作
MB_TASKMODAL = $00002000; //任务模式,在未结束对话框前也能切换到另一应用程序
MessageBox(0,'你确定此操作吗?','询问',MB_OKCANCEL);//确定取消二个按钮
MessageBox(0,'你确定此操作吗?','询问',MB_OKCANCEL+MB_ICONQUESTION);//确定取消,带?号图标
MessageBox(0,'你确定此操作吗?','询问',MB_OKCANCEL+MB_ICONQUESTION+MB_DEFBUTTON2);//确定取消,带?号图标,并把第二个按钮“取消”设为默认按钮!
(3)图标常量免费资源收集网()
MB_ICONHAND = $00000010; //“×”号图标
MB_ICONQUESTION = $00000020; //“?”号图标
MB_ICONEXCLAMATION = $00000030; //“!”号图标
MB_HELP = $00004000; //Help Button
3、函数返回值
0 //对话框建立失败
IdOk = 1 //按确定按钮
IDCancel = 2 //按取消按钮
MB_ICONASTERISK = $00000040; ห้องสมุดไป่ตู้ //“i”图标
MB_USERICON = $00000080; //用户图标
MB_ICONWARNING = MB_ICONEXCLAMATION; //“!”号图标
1、函数原型及参数
function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;
hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
如果想判断用户选择了那个按钮可以这样
var
x:integer;
begin
x:=MessageBox(0,'你确定此操作吗?','询问',MB_OKCANCEL);
end;
判断时可以是if x=1 then ..或if x=idok then...
MB_ICONERROR = MB_ICONHAND; //“×”号图标
MB_ICONINFORMATION = MB_ICONASTERISK; //“i”图标
MB_ICONSTOP = MB_ICONHAND; //“×”号图标
MB_OKCANCEL = $00000001 //一个确定按钮,一个取消按钮
MB_ABORTRETRYIGNORE = $00000002; //一个异常终止按钮,一个重试按钮,一个忽略按钮
MB_YESNOCANCEL = $00000003; //一个是按钮,一个否按钮,一个取消按钮
MB_DEFBUTTON2 = $00000100; //第二个按钮为缺省按钮
MB_DEFBUTTON3 = $00000200; //第三个按钮为缺省按钮
MB_DEFBUTTON4 = $00000300; //第四个按钮为缺省按钮
MB_YESNO = $00000004; //一个是按钮,一个否按钮
MB_RETRYCANCEL = $00000005; //一个重试按钮,一个取消按钮
(2)缺省按钮常量
MB_DEFBUTTON1 = $00000000; //第一个按钮为缺省按钮