|
안녕하세요
곽병주입니다.
다름이 아니라 커스텀 패널을 상속받아 그위에 트랙바를 올려놓아 컴포넌트를 만들려구 합니다.
헤더 코드:
class PACKAGE TTimeSlider : public TCustomPanel
{
private:
TTrackBar* m_tb;
protected:
void __fastcall WMCreate(TWMCreate &Message);
void __fastcall WMDestroy(TWMDestroy &Message);
public:
__fastcall TTimeSlider(TComponent* Owner);
__published:
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_CREATE,TWMCreate,WMCreate)
MESSAGE_HANDLER(WM_DESTROY,TWMDestroy,WMDestroy)
END_MESSAGE_MAP(TCustomPanel)
};
구현 파일:
//---------------------------------------------------------------------------
__fastcall TTimeSlider::TTimeSlider(TComponent* Owner)
: TCustomPanel(Owner)
{
m_tb= new TTrackBar(this);
m_tb->Parent=this;
m_tb->Visible= true;
m_tb->Repaint();
}
위와 같이 해놓고 컴포넌트를 팔레트에 등록해 놓았습니다.
다른 프로젝트에서 위의 컴포넌트를 팔레트에서 가져와 디장인하려구 보면
당연히 트랙바는 안나타 나더군요..실행때만 나타납니다.
저는 이걸 디자인 타임때도 나오게 하고 싶은데요
어떻게 하면 되는지 한수 지도 바랍니다.
그럼 미리 꾸벅..
참고로 패널위에 서너개의 컨트롤을 올려놓고 쓸려구 합니다.
|