|
그간 거의 빌더만으로 컴포넌트를 제작해서 사용해 왔었는데,
얼마전 TControl 에서 상속된 속성인 Caption 에(Memo나 Edit의 Text도 마찬가지) 차이가 있는걸 발견했습니다.
제가 컴포넌트를 만들어서 TForm이나 TPanel, TLabel에 있는 Caption 처럼 Caption을 하나 노출시켰습니다.
__property Caption; 으로 말이죠.
그런데, 제가 CB로 만든 컴포넌트의 Caption 은 디자인 타임에 Object Inspector 에서 Caption을 수정할 때
한 문자 단위로 화면에 반영이 되지 않더군요.
뭔가 빠뜨린게 없을까 해서, TCustomLabel을 상속해 TLabel과 똑같이 모든 프로퍼티를 노출시킨 컴포넌트를
만들어 테스트 해 봤지만, 역시나 Object Inspector에서 변경해도
TLabel처럼 한 문자씩 반영되지 않고, 엔터를 치거나 포커스가 이동되는 식으로 입력이 종료되어야
디자인타임의 폼에 적용되더군요.
이리 저리 다른 사람들의 BCB로 제작한 컴포넌트를 찾아봤지만 BCB로 제작된 컴포넌트 자체가 많지가 않고,
Caption과 같은 멤버를 가진 컴포넌트는 더더욱 드물어서 아직까지 오리무중입니다.
혹이나 해서 델파이로 여러 컴포넌트를 만들어 보니, 델파이로 작성한 녀석들은 잘만 되네요.
보다 완성도 있는 컴포넌트를 작성하고 싶은 욕심에, 디자인 타임의 편의를 제공해 주고 싶은데
Caption과 같은 멤버가 문자단위로 변경이 적용되지 않으니 답답하군요.
이 부분에 대해 아시는 분 답변 주시면 감사하겠습니다. ^0^;;
|