2017-02-19 3 views
0

TMS 구성 요소 라이브러리를 사용하여 소프트웨어를 프로그래밍하고 있습니다. 이 질문에 특히 나는 구성 요소 tAdvToolBarPager를 사용하고 있습니다.Delphi에서 TMS TAdvPage의 파생 된 구성 요소를 만드는 방법

이렇게하면 다른 tAdvPage를 만들 수 있습니다. (툴바처럼) MsOffice에 페이지가있는 곳을 생각해보십시오. 파일, 홈, 페이지 레이아웃, 데이터 등 ...

다른 응용 프로그램에서 만든 페이지를 다시 사용하고 싶습니다.

예를 들어, 내 페이지 "데이터"에는 RS 232 포트 또는 네트워크를 통해 직렬 데이터를 처리하는 데 필요한 모든 컨트롤이 있습니다.

내 "데이터"페이지 :

Img

는 현재, 내가 다른 하나의 응용 프로그램에서 페이지와 관련된 모든 코드를 복사하여 붙여 넣습니다.

저는 이것이 어떻게 비실용적인지 설명 할 필요가 없다고 확신합니다.

더 나은 단어가 없거나 올바른 단어 일 수 있으므로 IDE 도구 팔레트에서 응용 프로그램에 끌어다 놓을 수있는 파생 된 구성 요소를 만들고 싶습니다. 이 "구성 요소"는 자체적으로 충분하기 위해 모든 컨트롤 + 코드를가집니다. (작은 응용 프로그램처럼) 또한 "구성 요소"코드를 변경하면이 구성 요소를 사용하는 모든 소프트웨어에 적용됩니다. 물론 "구성 요소"의 모든 컨트롤에 쉽게 액세스 할 수 있어야합니다. 텍스트 상자, 콤보 상자 등.

시각적 요소가 없기 때문에 구성 요소를 빠르게 만들었으며 매우 복잡하게 보입니다. (내 페이지 중 일부는 내가 제공 한 예보다 복잡합니다.)

내 페이지의 시각적 구성 요소 + 코드를 복사하여 "구성 요소"에 쉽게 붙여 넣을 수 있습니까? 그렇지 않다면 어떻게해야합니까?

경계선이없는 양식을 패널에 도킹하기 전에 프레이밍 방법을 사용했으나이를 수행하는 데 더 "깨끗한"방법이 있는지 궁금합니다.

누군가가 내게 모범을 줄 수 있다면, 나는 그것을 이해할 수있을 것입니다. 아아, 내가 인터넷에서 발견 한 것은 나에게 약간 혼란 스러웠고, 나는 더 이상 최선의 접근법이 무엇인지 너무 확신하지 못한다.

예 : TButton + Tedit를 T 패널에 그립니다. 버튼이 눌려 짐 = "hello world"편집 상자. Tpanel에서 "구성 요소"를 만듭니다. (나는 그곳에서 잡을 가능성이 높다)

나는 풀 타임 프로그래머가 아니다. 어리석은 질문 일지 모르지만 나는 잘못된 길로 가고 싶다. 시작해야한다는 것을 깨닫는다. 모든 것이

감사합니다 ... 다시 이상, E.

+0

나는이 주제에 대한 답을 발견 밝혀 : http://stackoverflow.com/questions/20723605/how-to-create- 델파이 - 구성 요소 - 다른 - 구성 요소로부터 상속 - –

답변

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

노력을 감사하지만 그것은 내 질문에 대답하기 위해 충분한 세부 사항을 제공하지 않았다. 내가 알아낼 수있는 링크를 찾았습니다. 건배 –

관련 문제