DelphiApplication Messagebox
2011-06-27 11:17
323 查看
Application.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. 可指定是否 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.1MB_DEFBUTTON1
指定focus在左边第一个按钮,这是默认值。
3.2 MB_DEFBUTTON2、MB_DEFBUTTON3、MB_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_YESNOor 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」按钮
返回值数值意义
IDOK 1确定
IDCANCEL 2取消
IDABORT 3中断
IDRETRY 4重试
IDIGNORE 5忽略
IDYES 6是
IDNO 7否
顺带一提,按钮上的文字是会随着操作系统的语系而改变的,用中文版的 Windows,按钮上的文字就出现中文。
下面是提示信息框的示范程序:
1.警告信息框
Application.MessageBox('警告信息框','警告信息框',MB_ICONWARNING);
2.疑问信息框
Application.MessageBox('疑问信息框','疑问信息框',MB_ICONQUESTION);
3.错误提示框
Application.MessageBox('错误信息框','错误信息框',MB_IConERROR);
4.提示信息框
Application.MessageBox('提示信息框','提示信息框',MB_ICONASTERISK);
5.说明信息框
Application.MessageBox('说明信息框','说明信息框',MB_HELP);
6.提示信息框
Application.MessageBox('提示信息框','提示信息框',MB_OK);
7.确认信息框
Application.MessageBox('确认信息框','确认信息框',MB_OKCANCEL);
8.重试信息框
Application.MessageBox('重试信息框','重试信息框',MB_RETRYCANCEL);
9.是否信息框
Application.MessageBox('是否信息框','是否信息框',MB_YESNO);
10.是否取消信息框
Application.MessageBox('是否取消信息框','是否取消信息框',MB_YESNOCANCEL);
应用实例:
//说明:点击Button1按钮,跳出带感叹号的提示信息框,并且鼠标焦点在"否"上。当点击“是”,将运行Close命令关闭程序,点击“否”退出提示对话框。
procedure TForm1.Button1Click(Sender: TObject);
begin
if Application.MessageBox('你确定要关闭程序吗?','提示信息',MB_YESNO+MB_ICONWARNING+MB_DEFBUTTON2)=IDYES then
Close;
end;
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. 可指定是否 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.1MB_DEFBUTTON1
指定focus在左边第一个按钮,这是默认值。
3.2 MB_DEFBUTTON2、MB_DEFBUTTON3、MB_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_YESNOor 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」按钮
返回值数值意义
IDOK 1确定
IDCANCEL 2取消
IDABORT 3中断
IDRETRY 4重试
IDIGNORE 5忽略
IDYES 6是
IDNO 7否
顺带一提,按钮上的文字是会随着操作系统的语系而改变的,用中文版的 Windows,按钮上的文字就出现中文。
下面是提示信息框的示范程序:
1.警告信息框
Application.MessageBox('警告信息框','警告信息框',MB_ICONWARNING);
2.疑问信息框
Application.MessageBox('疑问信息框','疑问信息框',MB_ICONQUESTION);
3.错误提示框
Application.MessageBox('错误信息框','错误信息框',MB_IConERROR);
4.提示信息框
Application.MessageBox('提示信息框','提示信息框',MB_ICONASTERISK);
5.说明信息框
Application.MessageBox('说明信息框','说明信息框',MB_HELP);
6.提示信息框
Application.MessageBox('提示信息框','提示信息框',MB_OK);
7.确认信息框
Application.MessageBox('确认信息框','确认信息框',MB_OKCANCEL);
8.重试信息框
Application.MessageBox('重试信息框','重试信息框',MB_RETRYCANCEL);
9.是否信息框
Application.MessageBox('是否信息框','是否信息框',MB_YESNO);
10.是否取消信息框
Application.MessageBox('是否取消信息框','是否取消信息框',MB_YESNOCANCEL);
应用实例:
//说明:点击Button1按钮,跳出带感叹号的提示信息框,并且鼠标焦点在"否"上。当点击“是”,将运行Close命令关闭程序,点击“否”退出提示对话框。
procedure TForm1.Button1Click(Sender: TObject);
begin
if Application.MessageBox('你确定要关闭程序吗?','提示信息',MB_YESNO+MB_ICONWARNING+MB_DEFBUTTON2)=IDYES then
Close;
end;
相关文章推荐
- delphi Application.MessageBox 添加数据提示
- Delphi Application.MessageBox详解
- Delphi Application.MessageBox详解
- Delphi application.MessageBox的使用
- Delphi : Application.MessageBox
- Delphi Application.MessageBox详解
- Application.MessageBox
- Delphi中MessageBox用法
- Qt主窗体显示最前 在delphi中使用Application.BringToFront;可以保证当前程序显示在最前。 然而今天在Qt中,没有类似函数供调用。 尝试了activeWindow,s
- delphi messagebox 使用技巧
- Delphi中MessageBox用法【转】
- Delphi不用DLL方式拦截全局外壳程序(Shell application)消息
- delphi关闭程序 Close,application.Terminate与halt有什么区别
- DelphiArx(crack) for Delphi development AutoCAD application.
- Delphi中MessageBox用法
- Delphi messagebox 说明
- Delphi中用MessageBox()API函数做倒计时对话框(使用Hook安装CBTHookCallback,计时器更改文字,SetWindowText API真正修改文字,引用未知函数)good
- delphi关闭程序Close,application.Terminate与halt区别
- Delphi中Create(nil),Create(self),Create(Application) 区别
- Delphi 的Application