| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 302 人关注过本帖
标题:如何设计对话框窗口
收藏  订阅  推荐  打印 
yeye55
Rank: 2
等级:注册会员
帖子:40
积分:826
注册:2007-1-19
如何设计对话框窗口

我想设计一个对话框窗口,该窗口活动时无法激活其它窗口,除非先关闭这个窗口。对于一个已经设计好的Form窗口(从TForm派生)如何实现这种功能?其它开发平台可以指定一窗口为模式窗口或非模式窗口来解决这个问题,但Delphi的Form窗口好象没有找到相应的属性。
搜索更多相关主题的帖子: 对话框窗口  Form  设计  平台  属性  
2007-3-4 23:18
yeye55
Rank: 2
等级:注册会员
帖子:40
积分:826
注册:2007-1-19

问题解决了,方法如下:

在自己设计的Form的OnCreate事件中修改一下Form的属性:

procedure TForm2.FormCreate(Sender: TObject);
begin
self.Visible:=false;
self.Enabled:=true;
self.FFormState:=self.FFormState-[fsModal];
self.FormStyle:=fsNormal; //不是fsMDIChild都可以
end;

模式对话框的创建代码如下:

procedure TForm1.Button1Click(Sender: TObject);
var
f : TForm2;
begin
f:=TForm2.Create(Application);
try
if f.ShowModal=mrOk then //显示这个窗体
{执行一些代码}
finally
f.Free;
end;
end;

2007-3-5 10:36
autosun
Rank: 2
等级:注册会员
帖子:80
积分:900
注册:2007-1-21

这不是很好吗?

2007-3-10 10:57
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.051803 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved