|
안녕하세요?
사용자 정의 윈도우 컴포넌트에서의 오류 메시지에 관한 질문입니다.
아래의 컴포넌트를 등록하면 오류 없이 등록이 됩니다.
하지만 컴포넌트 팔레트에서 폼으로 찍어다 놓는 순간 "Invalid Image size"라는
오류메시지가 발생하고 폼에 놓여지지 않습니다.
오류는 이 글의 가장 아래 줄에 있는 FImageList->AddMasked(mBitmap,clBlue);
에서 발생하는 것으로 밝혀졌지만 왜 그런지는 도무지 알 수가 없군요.
이 마지막 줄은 디렉터리 목록에서 사용할 폴더의 비트맵을 이미지 목록에
등록하는 것이며, 오류가 발생하자 비트맵을 포기하고 컴포넌트를 다시
등록해보았더니 비트맵은 나타나지 않지만 다른 모든 것은 문제가 없습니다.
컴포넌트 클래스:
class TCustomDirectoryListBox: public TCustomListView
{
TImageList *FImageList;
.
.
.
}
CPP 파일에서
#pragma resource "DirListBox.res"
TCustomDirectoryListBox::TCustomDirectoryListBox(TObject *Owner) : TCustomListBox(Owner)
{
}
void __fastcall TCustomDirectoryListBox::CreateWnd()
{
Graphics::TBitmap *mBitmap;
TCustomTreeView::CreateWnd();
Font->Size=10;
mBitmap->LoadFromResourceName((int)HInstance,"ClosedFolder");
FImageList = new TImageList(Application);
FImageList->DrawingStyle=dsTransparent;
Images=FImageList;
//여기에서 오류("Invalid Image size")가 발생함.
FImageList->AddMasked(mBitmap,clBlue);
.
.
.
}
끝까지 읽어주셔서 감사합니다.
|