教程-MessageBox 使用方法

时间:2023-11-24 12:37:44

对应对象:TApplication
声明:function MessageBox(Text,Caption:PChar;Flags:Word):Integer;
功能:MessageBox方法可以显示一个对话框,在对话框中包含了一条信息和一个及多个按钮。MessageBox方法是TApplication中的一个经常使用的方法,它包含了Windows
API
MessageBox函数。使用过Windows的朋友都看到过MessageBox,可以使用VB或Delphi来创建它们。以下是Flags允许的一些值的组合。
      标  记  值 意    义
      MB_ABORTRETRYIGNORE 出现3个按钮:Abort,Retry,Ignore。
      MB_APPLMODAL
      对于应用程序的信息框是模式的,即当返回到应用程序之前用户必须单击一个键,MB_APPLMODAL由缺少值设置,对应的行为可以使用MB_SYSTEMMODAL或MB_TASKMODAL来改变。

MB_DEFAULT_DESKTOP_ONLY 信息框必须出现在缺少的桌面上,这个桌面是用户注册的桌面。
      MB_DEFBUTTON1 信息框的第一个按钮是缺省的按钮。
      MB_DEFBUTTON2 信息框的第二个按钮是缺省的按钮。
      MB_DEFBUTTON3 信息框的第三个按钮是缺省的按钮。
      MB_DEFBUTTON4 信息框的第四个按钮是缺省的按钮。
      MB_HELP 在信息框上添加一个Help按钮,当按F1或此按钮时可以引起Help事件。
      MB_ICONASTERISK 与MB_ICONFORMATION的相同。
      MB_ICONERROR 与MB_ICONHAND相同。
      MB_ICONEXCLAMATION 出现一个感叹号的图标。
      MB_ICONHAND 与MB_ICONSTOP相同。
      MB_ICONINFORMATION 出现一个小写的i图标。
      MB_ICONQUESTION 出现一个问号?的图标。
      MB_ICONSTOP 出现一个红色的叉子×的图标。
      MB_ICONWARNING 与MB_ICONEXCLAMATION的相同。
      MB_OK 信息框出现一个按钮,按钮标题是OK。
      MB_OKCANCEL 信息框出现两个按钮,按钮标题是OK和Cancel。
      MB_RETRYCANCEL 信息框出现两个按钮,按钮标题是Retry和Cancel。
      MB_RIGHT 信息框内的信息是向右对齐的。
      MB_TRLREADING 信息框内的文字对于Hebrew和Arabic系统来说是向右对齐的。
      MB_SERVICE_NOTIFICATION 允许信息框在一个没有被注册的桌面上显示。
      MB_SETFORMEGROUND 使信息框成为当前的窗口。
      MB_SYSTEMMODAL 此信息框不允许用户在它被关闭之前进行任何的其他操作,这个标记可以为十分重要的信息进行保留。
      MB_TASKMODAL 与MB_APPLMODAL相同。
      MB_YESNO 信息框有两个按钮,按钮标题是Yes和No。
      MB_YESNOCANCEL 信息框内有三个按钮,按钮标题是Yes,No和Canel。

对于此属性的返回值类型可见下表:
      命名的返回值 返回数值 意    义
      IDABORT 0 没有足够的内存空间来显示信息框。
        3 用户选择了Abort按钮功能。
      IDCANCEL 2 用户选择了Cancel按钮功能。
      IDIGNORE 5 用户选择了Ignore按钮功能。
      IDNO 7 用户选择了No按钮功能。
      IDOK 1 用户选择了OK按钮功能。
      IDRETRY 4 用户选择了Retry按钮功能。
      IDYES 6 用户选择了Yes按钮功能。

例子:
//Close the application
procedure TForm1.mnuFileQuitClick(Sender:TObject);
begin
  if Application.MessageBox(‘Do you really want to quit?’,’Quit?’, MB_YESNO+MB_ICONHAND)=IDYES then
    Close;
end;