我用 RzPageControl 動態創建 RzTabSheet1 (Caption= '主體模板'),然后把視窗 Form1 放在 RzTabSheet1 里,如下圖1, 但在關閉Form1 視窗時(點擊 “退出”按鈕),RzTabSheet1 不會自動關閉,應該如何在關閉視窗時,同時注銷 RzTabSheet1 ? 請大神指點下

圖一

圖二
uj5u.com熱心網友回復:
補充:我用的語言是 Delphi 7uj5u.com熱心網友回復:
你加載表單時,一定會是把表單放到RzPageControl 里的,所以RzPageControl 就是表單的父。那么,在你關閉表單前先查找表單的父級控制元件,如果是RzPageControl ,就關閉他。
uj5u.com熱心網友回復:
Form1 := TForm1.Create(RzTabSheet1); //指定Form1的Owner為RzTabSheet1, 使得RzTabSheet1釋放時會自動釋放Form;在Form1的“退出”按鈕的事件處理程式:
procedure TForm1.ButtonExitClick(Sender: TObject);
begin
Self.Parent.Free;
end
uj5u.com熱心網友回復:
unit UnitMain;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
RzTabs, Vcl.StdCtrls;
type
TFormMain = class(TForm)
RzPageControl1: TRzPageControl;
TabSheet系統導航: TRzTabSheet;
procedure FormCreate(Sender: TObject);
private
RzTabSheet1: TRzTabSheet;
public
{ Public declarations }
end;
var
FormMain: TFormMain;
implementation
{$R *.dfm}
uses unit1;
procedure TFormMain.FormCreate(Sender: TObject);
begin
RzTabSheet1 := TRzTabSheet.Create(RzPageControl1);
RzTabSheet1.PageControl := RzPageControl1;
RzTabSheet1.Caption := '主體模板';
RzTabSheet1.TabVisible := TRUE;
RzPageControl1.ActivePage := RzTabSheet1;
Form1 := TForm1.Create(RzTabSheet1); //指定Form1的Owner是RzTabSheet1
Form1.Parent := RzTabSheet1;
Form1.Align := alClient;
Form1.Show;
end;
end.
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Self.Parent.Free;
end;
end.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/278270.html
標籤:語言基礎/算法/系統設計
