繁体   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