摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi窗体文章
◎→ 本类最新
DELPHI动态生成控件
Delphi编程中创建一个启动闪现窗
在win95,win98下实现半透明的窗口
拖动无标题栏窗体的方法
用Delphi 控制窗体的大小
使MDI窗口有一个背景图象或使它平
软件启动画面中启动状态的显示
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
Intel研发出20Gbps网线
建立Win2000 VPN服务器(1)
建立Win2000 VPN服务器(1)
用Delphi开发两层体系的数据库应
检测、建立数据库别名和表格
减少文件路径名的长度
监视Pop3信箱

利用Delphi实现支持窗体的自定义函数


日期:2008-10-20 21:47:50    来源:互联网
   

利用Delphi实现支持窗体的自定义函数


  在利用Delphi发开应用时,我们可以引用大量的控件,象VCL,OCX,也可以引用开发环境中提供的大量函数,如ShowMessage,Application.MessageBox等,正是这些资源极大的提高了应用的开发效率,但是,在具体的开发过程中,会产生这样一种需求,即如何将参数传递给窗体,最终用户操作窗体后返回具体值,应用程序再要根据此返回值作进一步的处理,就象Application.MessageBox一样工作。对此,笔者经过实践,终于通过自定义函数的形式找到了实现方法。下面让我们以实现类似Application.MessageBox功能的函数实例,看看如何定义支持窗体的自定义函数。

---- 第一步,建立函数的操作窗体;

---- 在Delphi建立一空白窗体(form),然后加入如下控件,两个按钮Button与一个标签Label。

Button1: TButton; Label1: TLabel; Button2: TButton;
---- 第二步,建立输出函数;
---- 此函数为其他窗体具体调用的格式,我们就通过此函数来传递参数及返回窗体的操作结果。其形式为:

---- function ShowMsg(btn1, btn2, msg, titleMsg: string): Integer;

---- 其中,btn1,btn2准备接收两个按钮的标题,msg为显示的提示信息,titleMsg为窗体的标明,并且,此函数的返回值为integer.

---- 注意:此声明必须放在implementation语句之前,使其对外可见。

---- 第三步,实现输出函数;

---- 具体代码如下:

function
ShowMsg(btn1, btn2, msg, titleMsg: string): Integer; var frmshowMsg:
TfrmShowMsg; begin frmShowMsg := TfrmShowMsg.Create(Application); //建立自定义函数使用的窗体
with frmShowMsg do try button1.Caption := btn1; button2.Caption := btn2;
Label1.Caption := msg; Caption := titleMsg; if ShowModal=mrOK then//显示窗体
result:=1 else result:=2; finally Free;//清除不再使用的窗体 end; end;
---- 作为例子,只是最简单的功能实现。
---- 最后一步,删除建立此窗体时生成的代码;

var frmShowMsg:TfrmShowMsg;
---- 下面让我们看看如何使用上面实现的自定义函数。
---- 建立一个应用,通过delphi->File->New Application即可。

---- 然后,在此应用中加入刚才实现的单元文件。此时我们需要在Project Options中设定frmShowMsg为可用的窗体。用一个按钮测试一下这个自定义函数ShowMsg。showMsg('正确','取消','真的退出程序吗?','确认');

---- 运行,就可以看到支持窗体的自定义函数了,效果与Delphi中Application.MessageBox差不多。

---- 掌握此种实现方法后,我们就可以继续构造出需多类似的通用函数,以完成不同的功能,如支持数据浏览的自定义函数,查看任意数据表等等。

---- 最后附完整的此自定义函数的程序清单:

unit udfForm;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type TfrmShowMsg = class(TForm)  
Button1: TButton;
Label1: TLabel;
Button2: TButton;
private
{ Private declarations }
public
{ Public declarations }  
end;  
function ShowMsg(btn1, btn2, msg, titleMsg: string): Integer;
implementation  
{$R *.DFM}
function ShowMsg(btn1, btn2, msg, titleMsg: string): Integer;
var  
frmshowMsg: TfrmShowMsg;  
begin
frmShowMsg := TfrmShowMsg.Create(Application);
with frmShowMsg do
try
button1.Caption := btn1;
button2.Caption := btn2;  
Label1.Caption := msg;
Caption := titleMsg;  
if ShowModal=mrOK
then result:=1
else result:=2;
finally Free;
end;
end;
end. 

 [1]
Tags: 

芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们