TImageList는 여러 이미지를 담아두고 인덱스로 접근하여 사용할 수 있는 컴포넌트 이다. 이 TImageList 의 이미지를 TSpeedButton에 할당해 보았다.
방법은 아주 간단하다. 아래의 한 줄짜리 코드가 그 것이다.
위의 코드는 ImageList 의 특정이미지를 SpeedButton 에 할당을 하는데 위와 같은 코드를 한 번 더 사용하여 다른 이미지를 할당하려 하면 되지 않았다.
새로운 이미지를 할당하기 위해서는 TBitmap 포인터를 생성하고 포인터 값을 할당 한 후에 SpeedButton 의 Glyph 에 할당하면 된다.
위의 코드 실행시 이미지를 바꿀 수 있다. 하지만 위의 코드도 문제가 있다. 배경이 투명한 이미지가 아닐 경우 덮어 씌우기 때문에 문제가 되지 않지만 아이콘과 같은 투명한 이미지를 적용시 이전 이미지가 남아 있는 문제가 있었다. 이를 해결하기 위해서 새로운 이미지를 할당하기 전에 SpeedButton 의 Glyph 에 NULL 을 할당하면 해결할 수 있다.
방법은 아주 간단하다. 아래의 한 줄짜리 코드가 그 것이다.
위의 코드는 ImageList 의 특정이미지를 SpeedButton 에 할당을 하는데 위와 같은 코드를 한 번 더 사용하여 다른 이미지를 할당하려 하면 되지 않았다.
새로운 이미지를 할당하기 위해서는 TBitmap 포인터를 생성하고 포인터 값을 할당 한 후에 SpeedButton 의 Glyph 에 할당하면 된다.
위의 코드 실행시 이미지를 바꿀 수 있다. 하지만 위의 코드도 문제가 있다. 배경이 투명한 이미지가 아닐 경우 덮어 씌우기 때문에 문제가 되지 않지만 아이콘과 같은 투명한 이미지를 적용시 이전 이미지가 남아 있는 문제가 있었다. 이를 해결하기 위해서 새로운 이미지를 할당하기 전에 SpeedButton 의 Glyph 에 NULL 을 할당하면 해결할 수 있다.
'Dev Story > Tips' 카테고리의 다른 글
Float 형 문자열 검증하기 (0) | 2009.07.18 |
---|---|
[VCL] 프로그램의 최소화(Minimize) 및 복구(Restore) 이벤트 잡기 (0) | 2009.04.23 |
[VCL] 작업표시줄의 프로그램 버튼 숨기기 (0) | 2009.04.14 |
VS2005 에서 Wizard 대화상자 Script Error 해결하기 (1) | 2009.04.03 |
사라진 Tahoma를 찾아라. (6) | 2009.04.03 |