16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"RE:PageControlの動的なTabSheetの生成・破"
この発言は #00343 FuKu さんのPageControlの動的なTabSheetの生成・破棄 に対するコメントです
FuKu さん、こんにちは。FuKuです。
以下のコードの方がスマートですね。(^_^;)
謎の全治師さんと谷内さんのコメントを参考にしました。
public
StrGridList: TList;
と
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
の部分も要らなくなりました。
自信がなくなってきました。(^_^;)(そんなサンプル出すなって)
誰か添削お願いします。m(__)m
-------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --------
procedure TForm1.Button1Click(Sender: TObject);
var
j: Integer; {オブジェクトの生成・破棄はjには依存しない
ようになっています}
TabSheet: TTabSheet;
StrGrid: TStringGrid;
begin
for j:=0 to 9 do {別に何回でも良いです。}
begin
{TTabSheetはTPageControlがオブジェクトを
格納する入れ物になってくれる}
TabSheet := TTabSheet.Create(Self);
TabSheet.PageControl := PageControl1;
PageControl1.Pages[PageControl1.PageCount-1].Caption
:= 'TabSheet'+IntToStr(PageControl1.PageCount);
{AOwnerにTabSheetを入れてやることでTabSheetを廃棄すると
いっしょにStringGridも廃棄してくれる}
StrGrid := TStringGrid.Create(TabSheet);
StrGrid.Parent := TabSheet;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
{PageControl1を後ろから廃棄しています。その方が簡単。}
while (PageControl1.PageCount > 0) do
PageControl1.Pages[PageControl1.PageCount-1].Free;
end;
-------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --------
-------
98/01/16 (金)17:44:31
FuKu (SGV00305)
Original document by FuKu 氏 ID:(SGV00305)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|