如何在Delphi中创建TMS TAdvPage的派生组件

时间:2017-02-19 02:33:35

标签: delphi components delphi-xe2

我正在使用TMS组件库编程软件。特别针对这个问题,我使用的是组件tAdvToolBarPager。

这允许我创建不同的tAdvPage。 (就像工具栏一样)想想MsOffice你有哪些页面;文件,主页,页面布局,数据等...

我发现自己想要重复使用我在其他应用程序中创建的页面。

例如,我的页面“数据”具有从RS 232端口或通过网络处理串行数据所需的所有控件。

我的“数据”页面:

Img

目前,我将页面和所有相关代码从一个应用程序复制并粘贴到另一个应用程序中。

我确信我不需要解释这是不切实际的。

由于缺少一个更好的单词,或者可能是正确的单词,我想创建一个派生组件,我可以从IDE工具面板中拖放我的应用程序。这个“组件”将拥有所有控件+代码,以便自给自足。 (就像一个小应用程序)另外,如果我更改“组件”代码,它将适用于使用此组件的所有软件。当然我需要能够轻松访问“组件”中的所有控件;文本框,组合框等。

我快速了解了创建一个组件,发现它看起来非常复杂,因为没有可视元素。 (我的一些页面比我提供的例子更复杂)

是否有一种简单的方法可以将我的页面+代码的可视组件复制并粘贴到“组件”中。如果没有,我该怎么做呢?

我之前使用框架方法将边框较少的格式停靠在面板上,但我想知道是否有“更清洁”的方法来执行此操作。

如果有人能给我一个例子,我很可能会弄清楚。唉,我在互联网上找到的东西让我有点困惑,我不太确定什么是最好的方法。

Ex:在Tpanel中绘制TButton + Tedit。按下按钮=编辑框中的“hello world”。从Tpanel创建“组件”。 (我可以从那里拿走它)

我是自我中间人并且不是全职程序员,这可能是一个愚蠢的问题,但我不想走错路,意识到我需要重新开始一切......

谢谢, 即

1 个答案:

答案 0 :(得分:0)

type
   TMyPager = class( TAdvToolBarPager)
   private
      ....
   protected
      procedure Click;override;
   public
      procedure MyNewProcedure;
   published
      property 
       .....
       .....
      constructor Create(aowner:Tcomponent); override;
end;

procedure Register;

implementation

procedure Register;
begin
   RegisterComponents('My Component', [TMyPager]);
end;

constructor TMyPager.Create(aowner:Tcomponent);
begin
   inherited create(Aowner);
end;

procedure TMyPager.Click;
begin
   inherited click;
    .....
    .....
end;

procedure TMyPager.MyNewProcedure;
begin
   ......
   ......
end;

end.