关于MDI子窗口的关闭问题?(100分)

  • 主题发起人 主题发起人 Luphon
  • 开始时间 开始时间
L

Luphon

Unregistered / Unconfirmed
GUEST, unregistred user!
如何关闭用Delphi快速创建的MDI窗口的子窗口,本子窗口是那种调用时才
驻留内存的,请注意不是最小化,而是关闭,隐藏也可?
 
在OnClose事件里令设置Action参数可以窗口的控制关闭动作。Action可取下列值:
caNone 什么也不做。
caHide 隐藏窗口,窗口实际上仍存在。
caFree 关闭窗口,窗口所占内存被释放。
caMinimize 最小化窗口,这是默认值。

如下例可关闭窗口
procedure TfmMDIChild.FormClose(Sender: TObject
var Action: TCloseAction);
begin
Action := caFree;
end;
 
Sorry,我没有把问题描述清楚,我希望在子窗口中加入一个按钮控
件,并在按钮的OnClick 事件中控制此子窗口的关闭和其他子窗口
的开启。您的方法好象只对系统按钮起作用,或者可能我对
FormClose 过程还不太会用。
 
那不是一样的吗?你在按钮的OnClick事件上Close窗口,一样会触发
FormClose事件啊。
 
我想Luphon的意思是如何关闭本子窗口,
-- 当然应该在Button的OnClick事件中
直接调用 "Close;".
 
在Button的OnClick事件上执行 Close,执行后自然触发了 Form的 OnClose
事件,Form 的 OnClose 事件里令 Action := caFree,就完事了。
 
建议你另建一个非Chile窗口, 加一个TListBox, 用一个循环将所有的子窗口的
Caption都加到列表中, 根据选来控制子窗口的关闭.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部