2017-02-19 43 views
0

我是使用TMS組件庫的編程軟件。具體到這個問題,我正在使用組件tAdvToolBarPager。如何在Delphi中創建TMS TAdvPage的派生組件

這使我可以創建不同的tAdvPage。 (比如工具欄)想想MsOffice你擁有哪些頁面;文件,首頁,頁面佈局,數據等...

我發現自己希望重用我在其他應用程序中創建的頁面。

例如,我的Page「Data」具有從RS 232端口或通過網絡處理串行數據所需的所有控件。

我的「數據」頁面:

Img

目前,我從一個應用程序複製並粘貼網頁和所有相關代碼到其他。

我相信我不需要解釋這是如何不切實際的。我想創建一個派生組件,可以從IDE工具面板中拖放到我的應用程序中。這個「組件」將擁有所有的控件+代碼,以便自給自足。 (就像一個小應用程序)另外,如果我更改「組件」代碼,它將適用於所有使用此組件的軟件。當然,我需要輕鬆訪問「組件」中的所有控件;文本框,組合框等。

我快速查看了創建組件,發現它看起來非常複雜,因爲沒有可視元素。 (我的一些頁面比我提供的示例更復雜)

有沒有簡單的方法將我的頁面+代碼的可視化組件複製並粘貼到「組件」。如果沒有,我該怎麼辦?

我已經使用框架方法之前,我停靠了一個邊框少表單到面板,但我想知道是否有一個「更乾淨」的方式來做到這一點。

如果有人能給我一個例子,我可能會弄清楚。唉,我在互聯網上發現的東西讓我困惑了一下,我不太清楚什麼是最好的方法了。例如:在Tpanel中繪製一個TButton + Tedit。在編輯框中按下按鈕=「hello world」。從Tpanel創建「組件」。 (我可以採取從它可能採取)

我是中間自我思想,我不是一個全職程序員這可能是一個愚蠢的問題,但我不想走錯路,意識到我需要開始一切從頭再來......

感謝, E.

+0

原來我找到關於這一主題的答案:http://stackoverflow.com/questions/20723605/how-to-create- delphi-component-inherits-from-other-components –

回答

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. 
+0

我很欣賞這種努力,但它沒有提供足夠的細節來回答我的問題。找到了一個幫助我弄清楚的鏈接。乾杯 –