经典的调用窗口函数:调用模态窗口

本文介绍了一种简化模态窗口调用的方法,通过封装通用的模态显示函数,减少重复代码并提高代码复用性。此外,文章还提供了关于窗口模板设置、特殊按键处理以及窗口维护的一些建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


经典的调用窗口函数:调用模态窗口 - yyimen - yyimen的博客 模态窗口一般需要返回 窗口的ModalResult 属性,常见的解决方法要么每次调用窗口写啰嗦相同的代码,要么每个窗口设置一个方法。以下代码只需封装一次:
function TSysInfo.ShowDialogForm(FormClass: TFormClass): Boolean;
begin
with FormClass.Create(nil) do
try
     Result := ShowModal = mrOK;//最简短的代码
finally
     Free;
end;
end;
调用实例
Uses Unit1;
ShowDialogForm(TFrom1);//输入窗口类类
如果有输入参数,参数类型和个数不尽相同,因此,具体窗口情况具体创建:
在窗口里录入下面代码(比如有参数CODE):
function ShowForm1(Code: string): Boolean;
begin
with TForm1.Create(nil) do
try
      FCODE := CODE;//FCODE声明在窗口类的private部分,用于交换参数,方便在本单元使用。
      Result := ShowModal = mrOK;
finally
     Free;
end;
end;
为了保证返回 ModalResult 属性,比如:
“确定”按钮点击事件最后,键入 ModalResult :=mrOK;
“取消”按钮点击事件最后,键入 ModalResult :=mrCancel;
下面是调用窗口一些建议:
1、Borland为了将窗口方便调用,每个窗口单元都有:
var Form1:TForm1;
这会造成N多的全局窗口变量, 给后期的程序维护带来不少麻烦,误国误民。我一般处理方法是,在菜单Projects->Options->去除自动创建窗口。然后,将 var Form1:TForm1;这条语句删除。这个世界就变得很干净和简单了。
2、对于模态窗口,最好从窗口继承过来。这个窗口模板,一般要设置窗口字体(宋体,9,[],GB2312_CHARSET,clWindowText),默认弹出位置(Position),BorderIcons,按ESC键可关闭窗口等特性。
3、一些特殊的窗口,比如登录窗口,最好是屏蔽 Alt+F4等特殊按键。



        
        



        







        
          
            
            评论这张
          
        


          
            
               经典的调用窗口函数:调用模态窗口 - yyimen - yyimen的博客
            
            转发至微博
          
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值