如果有两个MID的子窗口,我想在打开其中一个子窗口的同时,关掉另一个子窗口,怎么作呀

ddvboy 2002-07-30 04:39:47
如果有两个MID的子窗口,我想在打开其中一个子窗口的同时,关掉另一个子窗口,怎么作呀!
...全文
114 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
naughtyboy 2002-07-31
  • 打赏
  • 举报
回复
可以用
而且我试过了,可以实现循环调用,也就是说,当Form2关闭的时候,Form3自动显示,Form3关闭的时候,Form2自动显示
ddvboy 2002-07-31
  • 打赏
  • 举报
回复
虽然已经结帖但
ACTION的属性我还是没有用上
不知道到底有什么用!·
tazhch 2002-07-30
  • 打赏
  • 举报
回复
if self.activeclid<>nil then
self.activeclid.close
njbudong 2002-07-30
  • 打赏
  • 举报
回复
二楼说的不错。
naughtyboy 2002-07-30
  • 打赏
  • 举报
回复
直接在Form的OnClose里面就能够实现了
不过不知道能不能够循环调用
两个子窗口有自动创建该为手动创建
然后在unit2里面
implements
{}
uses unit3;
procedure TForm2.FormClose(Sender:TObject);
begin
with TForm3.Create(Form3) do
begin
Show;
refresh;
end;
Action:=cafree;
end;
你试一试
go_my_sky 2002-07-30
  • 打赏
  • 举报
回复

Action:=caFree;
一定要要
pmwb 2002-07-30
  • 打赏
  • 举报
回复
var
oldcursor:TCursor; //光标
i:integer; //变量i为子窗口个数
begin
for i:=0 to MDIChildcount - 1 do
begin
if MDIChildren[i] is Tw_clientlr then
begin
MDIchildren[i].show;
exit;
end; //if
end; //for
oldcursor:=screen.Cursor;
screen.cursor:=crHourglass;
try
w_clientlr:=Tw_clientlr.create(application);
finally
screen.cursor:= oldcursor;
end; //finally


关闭可以用到如下:
自己体会一下!具体的就自己写吧!
procedure Tw_yyylr.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
xjl 2002-07-30
  • 打赏
  • 举报
回复
在显示另一个窗体之前关闭自己
难道有问题?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧