|
초보 님이 쓰신 글 :
: 안녕하세요. 초보입니당.
:
: 제 질문은 다음과 같습니다.
:
: 이미지를 클릭할 경우 반전이 되게 하려고 합니당. 마치 일반 아이콘을 선택할 경우
:
: 선택된 부분이 반전되는 것처럼 하고 싶습니당. 제발 좀 도와주세요.
:
: 제발요.
:
: TListView등의 컴포넌트가 아니라 직접 연산을 통해 구하고 싶습니당. 흑.
:
임펠리테리입니다.
질문내용으로 보아 아이콘이라고 보고 답변을 쓰겠습니다. Win32 레벨에서 아이콘에 대해 선택된 것처럼 표시하는 기능을 지원하기는 합니다만, 이미지리스트(HIMAGELIST)에서만 가능합니다. API ImageList_GetIcon함수를 사용해서 HIMAGELIST 핸들을 넘겨주면서 블랜딩 관련 옵션을 넘겨주면 됩니다.
하지만 빌더에서 API 레벨의 HIMAGELIST 객체를 이용하기는 불편하고, 빌더에서 사용하기 편하게 래핑해놓은 TImageList를 쓰면 간단히 됩니다. 다음은 TImage에다 이미지리스트의 첫번째 아이콘을 선택된 것처럼 그리는 예입니다.
ImageList1->DrawingStyle = dsSelected;
ImageList1->BlendColor = clHighlight;
ImageList1->Draw(Image1->Canvas, 0,0, 0, true);
그럼 참고하시길...
|