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