Delphi 7 自定义消息框MessageMyDlg
来源:互联网 发布:淘宝宝贝销售属性出错 编辑:程序博客网 时间:2024/06/17 15:39
在之前的文章《深入了解Delphi 7中的四种消息框》了解到MessageDlg消息框不够强大,而Application.MessageBox、MessageBox实质都是Windows API函数MessageBox,无法根据自己需要所修改。于是,从MessageDlg入手,定制自己所需要的消息框。有时候我们需要在消息框上弹出的按钮不是“确定”、“是”、“否”等等,而需要“继续”、“退出”等按钮文本;有时候我们不需要消息框上还出现了标题栏的关闭按钮,给用户逃避选择的机会,于是去掉标题栏关闭按钮也是根据实际可能需要的。
自定义消息框MessageMyDlg函数原型:
{-------------------------------------------------------------------------------
过程名: MessageMyDlg
功能: 自定义的消息框
参数: Msg: string; 消息内容
MsgTitle: string; 消息标题
DlgType: TMsgDlgType; 消息显示图标
Buttons: TMyMsgDlgButtons; 消息按钮集合
ShowClose: Boolean 消息框标题栏关闭按钮的显示
返回值: Integer
-------------------------------------------------------------------------------}
function MessageMyDlg(const Msg, MsgTitle: string; DlgType: TMsgDlgType; Buttons: TMyMsgDlgButtons; ShowClose: Boolean): Integer;
过程名: MessageMyDlg
功能: 自定义的消息框
参数: Msg: string; 消息内容
MsgTitle: string; 消息标题
DlgType: TMsgDlgType; 消息显示图标
Buttons: TMyMsgDlgButtons; 消息按钮集合
ShowClose: Boolean 消息框标题栏关闭按钮的显示
返回值: Integer
-------------------------------------------------------------------------------}
function MessageMyDlg(const Msg, MsgTitle: string; DlgType: TMsgDlgType; Buttons: TMyMsgDlgButtons; ShowClose: Boolean): Integer;
自定义消息框源码:(展开即可显示)
使用示例:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XPMan;
type
TForm1 = class(TForm)
btn1: TButton;
xpmnfst1: TXPManifest;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses MyMessagebox;
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
begin
MessageDlg('这是MessageDlg弹出消息框',mtError,mbYesNoCancel,0); //全英文
MessageMyDlg('这是MessageMyDlg弹出消息框','自定义标题',mtError,mcYesNoCancel,False); //全中文
case MessageMyDlg('您的操作还未完成?' + #13#13 + '请点击“继续”按钮继续完成操作,如果您想终止操作,' + #13 + '请点击“退出”按钮。', '提示', mtInformation, [mcContinute, mcExit]) of
mrContinute: ShowMessage('按了继续按钮');
mrExit: ShowMessage('按了退出按钮');
else ShowMessage('按了标题栏的关闭按钮');
end;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XPMan;
type
TForm1 = class(TForm)
btn1: TButton;
xpmnfst1: TXPManifest;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses MyMessagebox;
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
begin
MessageDlg('这是MessageDlg弹出消息框',mtError,mbYesNoCancel,0); //全英文
MessageMyDlg('这是MessageMyDlg弹出消息框','自定义标题',mtError,mcYesNoCancel,False); //全中文
case MessageMyDlg('您的操作还未完成?' + #13#13 + '请点击“继续”按钮继续完成操作,如果您想终止操作,' + #13 + '请点击“退出”按钮。', '提示', mtInformation, [mcContinute, mcExit]) of
mrContinute: ShowMessage('按了继续按钮');
mrExit: ShowMessage('按了退出按钮');
else ShowMessage('按了标题栏的关闭按钮');
end;
end;
end.
结果如下图所示:
- Delphi 7 自定义消息框MessageMyDlg
- Delphi 使用自定义消息
- delphi自定义消息
- Delphi自定义消息应用
- Delphi自定义消息应用
- delphi自定义消息
- Delphi 自定义消息
- 在delphi消息框中显示自定义图标
- Delphi 自定义消息 处理字符串
- Delphi中消息框
- Delphi 自定义消息处理过程与Windows消息处理过程
- delphi自定义消息(文章来自于网上,谢谢作者的总结)
- DELPHI中自定义消息的发送和接收
- 深入了解Delphi 7中的四种消息框
- 深入了解Delphi 7中的四种消息框
- 深入了解Delphi 7中的四种消息框
- 深入了解Delphi 7中的四种消息框
- 深入了解Delphi 7中的四种消息框
- query ajax xml 实例
- C语言结构体和联合体
- vector , list 和 deque的优缺点
- C语言结构体和联合体
- 浅谈对象在Hibernate中的状态(转)
- Delphi 7 自定义消息框MessageMyDlg
- JavaEE开发四大常用框架
- dos下ftp怎样切换主动、被动模式
- retinex图像增强算法
- Android游戏的基础:物体运动效果
- STL set 常用操作简介[转载]
- union学习
- CentOS 源码包安装 mysql5.5
- 错误处理(Error-Handling):为何、何时、如何