有关MDI子窗口的问题
怎样在MDI的子窗口中设置一个按钮让它的功能是关闭这个子窗口?
谢谢!!!
问题点数:56、回复次数:5Top
1 楼netcar(netload)回复于 2001-12-07 13:17:09 得分 0
你究竟要实现怎样的功能?直接在子窗体中关闭不就可以了?Top
2 楼taxi(当时明月在,曾照彩云归)回复于 2001-12-07 13:17:50 得分 30
procedure TChildForm.Button1Click(Sender: TObject);
begin
Free;
end;Top
3 楼liang_z(千山一刀之忍者神龟)回复于 2001-12-07 13:22:50 得分 10
??
你在子窗口的的OnClose事件中加入:
procedure TFParent.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
你就可以用子窗口自己的XX关闭自己了啊!
Top
4 楼liang_z(千山一刀之忍者神龟)回复于 2001-12-07 13:24:17 得分 6
如果是在主窗口中要关闭当前激活的子窗口请用:
if ActiveMDIChild <> nil then ActiveMDIChild.Close;
Top
5 楼fans2000(授我以渔)回复于 2001-12-07 13:27:43 得分 10
Delphi中MDI子窗口的关闭方式默认为缩小而不是关闭,所以当你单击子窗口右上角的关闭按钮时会发觉该子窗口只是最小化,而不是你预期的那样被关闭。解决办法是在子窗口的OnClose事件处理过程中加入如下代码,示例:
procedure ChildForm.OnClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
Delphi为一个Form的关闭行为指定了四种方式,分别是:
caNone 禁止Form被关闭
caHide Form不被关闭,但是被隐藏。被隐藏的Form仍然可以被程序访问。
caFree Form被关闭,并且释放其占用的资源。
caMinimize Form被最小化而不是被关闭,这是MDI子窗口的默认关闭行为。
Top




