簡體   English   中英

Delphi在頁面控件中按標簽號顯示框架

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM