`
isiqi
  • 浏览: 16708261 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Delphi : Application.MessageBox

阅读更多

Application.MessageBox TApplication 的成员函数,宣告如下:
function TApplication.MessageBox(const Text, Caption: PChar; Flags: Longint): Integer;<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

自变量:
1. Text
:要显示的讯息
2. Caption
:讯息窗口的标题列文字
3. Flags
:讯息旗标
3.1.
可指定讯息窗口上的图标
3.2.
可指定讯息窗口出现的按钮
3.3.
可指定预设Focus在哪一个按钮
3.4.
可指定是否 Modal
3.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」按钮,为默认值。
2.3 MB_OKCANCEL
出现「Ok」「Cancel」两个按钮
2.4 MB_RETRYCANCEL
出现「Retry」「Cancel」两个按钮
2.5 MB_YESNO
出现「Yes」「No」两个按钮
2.6 MB_YESNOCANCEL
出现「Yes」「No」「Cancel」三个按钮

3. 可指定预设Focus在哪一个按钮
3.1 MB_DEFBUTTON1
指定focus在左边第一个按钮,这是默认值。
3.2 MB_DEFBUTTON2
MB_DEFBUTTON3MB_DEFBUTTON4
以此类推,指定focus在左边第二、三、四个按钮

4. 可指定是否 Modal
4.1 MB_APPLMODAL
对于应用程序而言,是 modal form
4.2 MB_SYSTEMMODAL
对于操作系统而言,是 modal form
4.3 MB_TASKMODAL
对于 task 而言,是 modal form
一般来说,这跟 MB_APPLMODAL 是等效的,但是当应用程序中的所有
form
都隐藏的时候,就必须使用这个,才能达到 modal 的目的

5. 其它
5.1 MB_TOPMOST
将讯息窗口提至最前面
5.2 MB_RIGHT
将消息正文向右对齐

在一个 Flag 要指定这么多的东西,要如何使用呢?
只要把要用的自变量组合 or 起来就可以了。例如:

Application.MessageBox(PCahr(sMsg), PChar(sCap), MB_YESNO or MB_ICONQUESTION or MB_DEFBUTTON2)
这样会出现「问号」图标,「Yes」「No」两个按钮,而且 focus No 按钮上

回传值:
1. IDABORT
:使用者按了「Abort」按钮
2. IDCANCEL
:使用者按了「Cancel」按钮
3. IDIGNORE
:使用者按了「Ignore」按钮
4. IDNO
:使用者按了「No」按钮
5. IDOK
:使用者按了「Ok」按钮
6. IDRETRY
:使用者按了「Retry」按钮
7. IDYES
:使用者按了「Yes」按钮

顺带一提,按钮上的文字是会随着操作系统的语系而改变的,用中文版的 Windows,按钮上的文字就出现中文。

分享到:
评论

相关推荐

    delphi 自定义消息框Messagebox居中

    首先,我们需要理解Delphi中的消息框是通过`MessageDlg`函数或者`Application.MessageBox`方法来创建的,它们都是弹出一个标准的系统对话框,无法直接满足自定义的需求。因此,我们需要创建自己的组件来实现这个功能...

    Delphi TRegistry.Create.Write写入注册表数据范例.rar

    Delphi 7.0的一个注册表操作实例,向注册表中写入数据,向... Application.MessageBox('向注册表中写入数据成功!','提示信息',64);  MyReg.CloseKey;  MyReg.Free;  以上代码片段仅供参考,完整源码请下载压缩包。

    Delphi7.0编写的数据库系统初始化程序.rar

    Delphi编写的数据库系统初始化程序源码,Delphi7.0版本开发的,请将名为qygl的脚本文件拷贝到应用程序所在的目录,注意,初始化会清空数据表中所有数据,在使用时小心,建议在使用前进行数据备份,以防止误删除数据...

    Delphi7 OpenKey删除注册表指定键值项.rar

    Delphi7简单对windows 7注册表进行操作,先使用OpenKey打开键值,然后使用WriteInteger修改键值,当然也可删除键值,删除已定义好的注册表中的指定项,本演示例仅可删除注册表指定项,并不增加指定项或键值,除此之...

    Delphi锁定IE禁止修改IE主页.rar

     if Application.MessageBox('确定要更改吗?','提示',MB_YESNO)= ID_YES then  begin  MyReg := TRegistry.Create;  MyReg.RootKey := HKEY_CURRENT_USER;  if MyReg.OpenKey('\Software\Policies\Microsoft\...

    Delphi 获取指定文件夹目录.rar

    Delphi 获取指定文件夹目录,可以设置掩码,可以提取到文件目录。源代码情况如下:  memo1.Clear;  try  s:=FileListBox1.Directory;  for i:=0 to FileListBox1.Count-1 do  begin  memo1.Lines.Append...

    Delphi 获取Windows 打印分辨率.rar

    Delphi 获取Windows 打印分辨率,通过单击窗口中的按钮,直接获取到打印机支持的分辨率大小,为下一步定制打印程序提供依据。以下是核心代码:  Try  Application.MessageBox(pchar('水平分辨率为:' IntToStr...

    Delphi7.0改变IE主页的URL地址.rar

     if Application.MessageBox('确定要更改吗?','提示',MB_YESNO)= ID_YES then  begin  MyReg := TRegistry.Create;  MyReg.RootKey := HKEY_CURRENT_USER;  if MyReg.OpenKey('\Software\Microsoft\Internet ...

    delphi+access项目开发笔记.pdf

    Application.MessageBox('信息添加成功!','信息提示 ',64); except ADOQuery1.Cancel; Application.MessageBox('信息添加失败!','错误 ',64); exit; end; ``` 五、 Delphi 文件复制 在 Delphi 中使用 ...

    Delphi 文件比较的例子.rar

    与大家分享一个简单的Delphi 文件比较的例子,注意:本示例只能对数据量较小的文件进地比较,运行后,需要指定源文件、目标文件,然后单击比较文件按钮,即可显示出比较结果:  try  SetLength(BufferA,StreamA....

    Delphi FileWrite将缓冲区中的内容写入文件中.rar

    将缓冲区中的内容写入文件中,学习Delphi中FileWrite的使用方法:  begin  H := FileOpen('d:\ini.txt',fmOpenWrite);  if H &lt;&gt; -1 then  begin  FileSeek(H,0,2);//将文件指针定位到文件的末尾  buffer := '...

    MessageBox_delphi_delphiMessageBox_

    在Delphi编程环境中,`MessageBox`是一个非常基础且重要的组件,用于向用户显示信息、询问问题或报告错误。`MessageBox`通常在需要与用户进行简单交互时使用,它提供了多种预定义的消息样式和按钮组合。在本文中,...

    delphi+access项目开发笔记

    Application.MessageBox('信息添加失败!', '错误', 64); Exit; end; ``` 5. **文件复制** Delphi提供了`FileExists`函数检查文件是否存在,以及`CopyFile`函数进行文件复制。在`ExtractFilePath(Application....

    Delphi使用FileCreate创建一个图像文件.rar

     if Application.MessageBox('确定要在D盘中创建一个图象文件吗?','提示',MB_YESNO) = ID_YES then  begin  createFile := FileCreate('D:\main.bmp');  if CreateFile = -1 then  begin  ShowMessage('文件...

    Delphi实现程序的自动识别路径.rar

    Delphi实现程序的自动识别路径,自动获取程序自身的路径信息,显示出自己所在的文件夹/目录路径。主要的源代码如上:  procedure TForm1.FormShow... Application.MessageBox('图片文件不存在.','提示',64);  end;

    Delphi 邮件发送示例 含源码文件.rar

    一个简单的Delphi7.0 邮件发送示例 含源码文件,将窗口中的邮件主题、收件人、邮件标题、邮件地址等信息填写完毕后,单击按钮即可发送邮件,基于SMTP发邮件的例子。部分代码段先睹为快:  Clear;  Subject := Edit...

    Delphi删除文件夹.docx

    Application.MessageBox('删除成功!','系统提示',64); end; ``` 方法四:使用 ShellExecute 删除文件夹 在这个方法中,我们使用 ShellExecute 函数来删除文件夹。这是一个简单的方法,但是它不能提供 Undo 选项。...

    Delphi清理Windows指定文件.rar

     if Application.MessageBox('确实要删除当前文件吗?','提示',mb_YesNo) = ID_Yes then  begin  if FileListBox1.Items.Count&gt;0 then  begin  With fileStruct do  begin  Wnd := 0;  wFunc := FO_DELETE; ...

    delphi电子笔记

    Application.MessageBox('提示信息', '标题', MB_OKCANCEL); ``` 6. **窗体最小化与还原** - 最小化窗体:`Application.Minimized;` - 还原窗体:`Application.Restore;` 7. **帮助文件关联**:通过 `...

    Delphi 用TDBNavigator组件删除数据显示自定义信息.rar

     if Application.MessageBox('确定要删除此行数据吗?','提示',MB_YESNO) = ID_NO then  begin  ADOQuery1.CancelBatch();  end  else  ADOQuery1.UpdateBatch();  end;    procedure TForm1.FormCreate...

Global site tag (gtag.js) - Google Analytics