[英]Delphi display a frame by tag number in page control
我有一個獨特的問題。 我在Windows XP上使用Delphi 2007。 我有一個帶有TPageControl組件的表單。 我創建了一個要顯示在該PageControl中的框架。 我將創建許多其他框架,這些框架將基於按鈕單擊事件顯示。 無論如何,是否有使用框架的tag屬性的功能,以便在按下按鈕時可以將標簽號傳遞到通用函數或過程中,以便所有按鈕可以復用這些函數或過程。 另一個想法是使用tabsheets索引屬性,並將其與框架標簽號匹配。 任何建議都很好。 提前致謝。
您需要一個將標簽號映射到框架類的函數,如下所示:
type
TFrameClass = class of TFrame;
function GetFrameClass(const aClassID: Integer): TFrameClass;
begin
case aClassID of
1 : Result := TFrameFoo;
2 : Result := TFrameBar;
else Result := nil;
end;
end;
然后您可以創建框架:
var FrClass: TFrameClass;
Frame: TFrame;
begin
FrClass := GetFrameClass(btn.Tag);
if(FrClass <> nil)then begin
Frame := FrClass.Create(tabsheet);
Frame.Parent := tabsheet;
end;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.