C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[2718] [질문]사용자 정의 컴포넌트에서의 오류 메시지.
임문환 [] 3699 읽음    2000-01-14 00:00
안녕하세요?

사용자 정의 윈도우 컴포넌트에서의 오류 메시지에 관한 질문입니다.
아래의 컴포넌트를 등록하면 오류 없이 등록이 됩니다.
하지만 컴포넌트 팔레트에서 폼으로 찍어다 놓는 순간  "Invalid Image size"라는
오류메시지가 발생하고 폼에 놓여지지 않습니다.
오류는 이 글의 가장 아래 줄에 있는  FImageList->AddMasked(mBitmap,clBlue);
에서 발생하는 것으로 밝혀졌지만 왜 그런지는 도무지 알 수가 없군요.

이 마지막 줄은 디렉터리 목록에서 사용할 폴더의 비트맵을 이미지 목록에
등록하는 것이며, 오류가 발생하자 비트맵을 포기하고 컴포넌트를 다시
등록해보았더니 비트맵은 나타나지 않지만 다른 모든 것은 문제가 없습니다.
또한 이 컴포넌트를 그져 클래스로 만들지 않고 응용 프로그램의 폼에서 메서드로 사용하여 보았는데
비트맵 아이콘도 제대로 출력되고 아무런 문제 없이 돌아갑니다.
참고로 말씀드리면 비트맵의 크기는 16X16입니다.

컴포넌트 클래스:
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);
.
.
.
}

감사합니다.

+ -

관련 글 리스트
2718 [질문]사용자 정의 컴포넌트에서의 오류 메시지. 임문환 3699 2000/01/14
2721     Re:사용자 정의 컴포넌트에서의 오류 메시지. 박지훈.임프 3778 2000/01/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.