DELPHI中MDI子窗口的關閉和打開
delphi 裏的
有兩種解決辦法。一種是把父窗口的formstyle :=fsMdiform; 子窗口 formstyle :=fsMdiChild;在父窗口裏放置一個panel1 和父窗口尺寸一樣大。在把父窗口的控件都放在這個panel1上。在設置子窗口的的父類是panel1.
這裏有個關鍵代碼,a:=TForm2.Create(self); windows.SetParent(a.Handle,Panel1.Handle );
經過這種設置後,產生的子窗體就在最上了。關閉子窗體要在 onClose
在窗口類定義裏 private FshowEvent: TshowEvent;
public property onShowEvent: TshowEvent read FshowEvent write FshowEvent;
在子窗體裏 onClose 裏 if Assigned(onShowEvent) then onShowEvent(true);
在父窗體窗口類裏 procedure showMessage(show:bool);
Form1.showpage(show: bool);
begin
if show then //接到子窗口的關閉通知
end
第二種 是不用設置窗體的 FormStyle 直接設置另一個窗口為子窗口。
Application.CreateForm(Tform3,form3 );
windows.SetParent(Form3.Handle,Form1.Handle);
form3.show;
這種有個好處,不用設置panel1,但這窗體是窗口內嵌方式。
DELPHI中MDI子窗口的關閉和打開