Q&A

  • 컴포넌트 제작시 object inspector등 디자인 툴 이용할 수 있는지?
안녕하세요.

TMainMenu 를 상속받은 컴포넌트를 만들려고 합니다.
뭐 간단하게 몇가지 서브 메뉴를 디폴트로 가지고 있는 컴포넌트가 되도록 하고 싶습니다.

예를 들면,
처음에 TMainMenu 컴포넌트를 폼에 올려놓으면 아무 메뉴도 가지고 있지 않지만
제가 만든 이 컴포넌트를 폼에 올려놓으면 기본적으로 몇가지 메뉴를 가지고 있게 되는거죠.

그래서 컴포넌트를 만드는 중에 의문이 있어서 질문드립니다.

보통 컴포넌트를 폼에 올려놓게 되면,
object inspector등을 이용해서 여러가지 설정들을 조정할 수 있습니다.
예로 TMainMenu의 경우는 object inspector를 보면 Items 라는 property가 있고,
이 버튼을 누르면 메뉴를 ui적인 방법으로 편집할 수 있는 방법을 제공합니다.

그런데,
폼에 TMainMenu 컴포넌트를 올려놓고 그 내용을 편집하려는 것이 아니고,
TMainMenu를 상속받는 컴포넌트를 만들때, 그 내용을 ui적인 방법으로 편집하는 방법은
제공 하지 않나요?
후자의 경우에는 반드시 코드를 작성해서 메뉴를 구성해 주어야만 하는지요?
궁금합니다.

만약 코드를 작성해야만 한다면 이게 MainMenu같은 컴포넌트에서만 안되는건지,
아니면 델파이 구조적으로 컴포넌트 제작시에는 베이스클래스에서 제공하는,
디자인타임 편집 기능들을 이용하지 못하는 건지 알고 싶습니다.

질문이 좀 애매모호한데요, 잘 전달되었으면 좋겠습니다.
좋은 하루 되세요.
1  COMMENTS
  • Profile
    프리맨 2003.09.23 01:10
    결론부터 말씀들면 컴포넌트를 제작할때는 디자인툴을 사용할수 없습니다.
    델파이의 디자인 인터페이스들은 폼파일(DFM)을 작성해주는것이지
    소스에 관여하지는 않습니다. 컴포넌트를 제작하는것은 DFM을 작성하는것이
    아니므로 디자인 인터페이스들로 해줄수 있는게 없습니다.

    만약 TMainMenu에서 고정된 서브메뉴를 갖는 메뉴컴포넌트를 등록하고
    싶다면 컴포넌트를 상속하는 대신 간단히 Component Template 을
    이용하는 방법이 있겠습니다. 이때는 디자인툴을 그대로 이용할수 있으며
    이벤트에 작성한 코드까지도 Template에 저장되어 복제됩니다.