|
신현준 님이 쓰신 글 :
: 컴포넌트를 다른 클래스에서 동적으로 생성하려고 하는데요....
:
: 여러가지 컴포넌트를 사용하기 위한 헤더 파일은 뭔가요?
: #include <Classes.hpp>
: #include <Controls.hpp>
: #include <StdCtrls.hpp>
: #include <Forms.hpp>
: #include <ComCtrls.hpp>
:
: #include <ComCtrls.hpp>를 넣어보니 컴포넌트를 생성 할 수 있기는 한데.. 이것만 갖구 되는건가요?
:
: 아님 안전빵으로 다 넣어줘버릴까요?^^;;
:
: 참.. 글구.. 질문 한 더 있음다..
:
: 컴포넌트를 동적으로 생성할때요...
:
: TButton *btn = new TButton(Owner);
:
: 컴포넌트 생성자로 전달되는 파라미터의 의미기 무엇인가요? 혹 부모 클래스를 말함은 아닌지요..
:
: 그렇담... owner란 뭔가요?...
:
: 즐거운 하루 되시길.. ^^
각 콤포넌트에 해당 되는 Help를 보시면 필요한 Header파일이 명시 되어 있습니다.
그걸 포함 하시면 될것 같습니다.
Owner라는 개념은 Parent와는 조금 다른 의미를 갖습니다.
동적으로 생성 시에 Owner를 지정 하면, Owner에 해당 하는 컴포넌트가 소멸 될때, 자동으로 동적으로 생성된 콤포넌트도 소멸 됩니다.
만약, Owner대신 NULL을 지정 하게 되면, 생성 시킨 콤포넌트는 직접 delete시켜 주어야 합니다.
Parent라는 것은, 생성될 콤포넌트가 어디에 위치 할 것인지를 지정 하는 속성 입니다.
예를 들어, Form1과 Form2가 있다고 가정 하면,
btn->Parent = Form1이라고 지정 하면, 생성된 버튼은, Form1위에 위치 하게 되고,
Form2라고 지정 하면, 생성된 버튼은, Form2위에 위치 하게 됩니다.
이것 이외에도 이것에 관련된 질문과 답이 아마도 찾아보기 하시면 많이 나올 것 같은데요. 그걸 참고 하셔도 될것 같습니다.
좋은 하루 되십시오.
|