4

我有一个独特的问题。我在 Windows XP 上使用 Delphi 2007。我有一个带有 TPageControl 组件的表单。我创建了一个要在该 PageControl 中显示的框架。我将创建许多其他将基于按钮单击事件显示的框架。无论如何都要使用框架的标签属性,以便在按下按钮时标签号可以传递给通用函数或过程,以便可以将函数或过程重用于所有按钮。另一个想法是使用 tabsheets 索引属性并将其与框架标记号匹配。任何建议都会很棒。提前致谢。

4

1 回答 1

2

您需要一个将标签号映射到框架类的函数,如下所示:

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;
于 2013-01-30T01:12:37.360 回答