|
在开发应用程序时,经常需要创建消息对话框。Delphi 提供了一个通用的对话框创建函数MessageBox,它是对Windows—API
中MessageBox 函数的封装,但使用时不需要提供窗口句柄。利用MessageBox 函数可以显示一条消息和一个或多个按钮,并且可以通过用户在对话框中的选择接收用户的响应,作为程序继续执行的依据。
除利用通用的MessageBox 函数创建消息对话框外,Delphi 还提供了自身具有特殊风格的内部函数MessageDlg
,可以用来在屏幕中央快速创建丰富而美观的消息对话框。其语法格式为:function MessageDlg (const Msg :string
;AType :TMsgDlgType ;AButtons :TMsgDlgButtons ;HelpCtx:Longint):Word
;
它包括四个参数,第一个参数Msg是显示在对话框中的消息;第二个参数AType 是对话框所包含的不同图标类型。第三个参数AButtons
是对话框所包含的按钮数目和类型,AButton 参数为TMs—gDlgBtns 类型,它是一个集合,因此在该集合内可以包含多个按钮。HelpCtx
参数定义消息框的帮助屏幕。
当用户从对话框中选择一个按钮后,MessageDlg 函数返回一个值表示此按钮被选中,其返回值与按钮的关系如下所示:
数值
含义
mrNone
没有选中任何按钮
mrOk
选中OK 按钮
mrCancel
选中Cancel 按钮
mrAbort
选中Abort 按钮
mrRetry
选中Retry 按钮
mrIgnore
选中Ignore 按钮
nrYes
选中Yes 按钮
mrNo
选中No 按钮
mrAll
选中All 按钮
下面是MessageDlg 函数的一个演示程序。假设窗体上有一个按钮,当用户单击该按钮时,它使用MessageDlg 函数弹出一个对话框,对话框中显示一个绿色的问号图标和一条消息,询问用户是否要退出系统,并提供一个Yes
按钮和一个No 按钮供用户选择。如果用户选择了Yes按钮,则MessageDlg 函数再次弹出一个对话框,显示一个蓝色的消息符号和一条消息,通知用户现在退出系统,当用户选择Ok,应用程序结束。
procedure TForm1.Button1Click(Sender :TObject);begin ifMessageDlg('Want
to exit System?',mt—Conflrmation ,[mbYes ,mbNo],0)=mrYesthenbegin
MessageDlg('Exit Systemnow.',mtIn—for—mation ,[mbOk],0);Close ;end
;end ;
除上面介绍的MessageDlg 函数外,Delphi 还提供了以下几个创建消息对话框的函数。
●MessageDl—gpos 函数,它的使用基本与MessageDlg 函数相同,只是它多了两个参数X 和Y ,可以在用户指定的位置显示对话框。
●ShowMessage 函数,它只带有一个字符串参数Msg ,用于显示一个带OK 按钮的对话框,对话框的消息为Msg
,标题为应用程序的可执行文件名。如:
●ShowMessage('Pushthis button')它实际上为下列Mes—sageDlg 函数的简写形式:MessageDlg('Pushthis
button',mtCus—tom,[mbOK],0)
●ShowMessagePos 函数,它带有一个字符串参数Msg 和指定对话框显示位置的参数X 和Y ,用于在某位置显示一个带OK
按钮的对话框,对话框的消息为Msg ,标题为应用程序的可执行文件名。如:ShowMessagePos('Pushthis button',125,25)(河北吴泽平)
|