델파이xe에서 TImage의 Picture 속성에 이미지를 할당할 때 gif 이미지가 TGIFImage에서 TJvGIFImage 포맷으로 변경되었다.
예전 버전에서 움직이는 gif 구현할 때 디자인 타임에 TImage 컴포넌트의 Picture 속성에 움직이는 *.gif 파일 설정하고
다음 코드를 실행하면 그림과 같이 움직이는 그림을 구현했었다.
if Image1.Picture.Graphic is TGIFImage then
begin
TGIFImage(Image1.Picture.Graphic).Animate := true;
end;
그런데 xe 버전에서 Picture에 *.gif 파일을 설정하면 그림처럼 Picture의 기본 포맷이 TJvGIFImage 로 변경되었다.
그래서 위의 Animate 속성이 작동하지 않는다. 아마도 TJvGIFImage 속성에 Animate 속성이 없기 때문인것 같다.
해결방법은 두가지다
1. TImage 컴포넌트 사용시
동적으로 직접 *.gif 파일을 TGIFImage 로 로드한다
procedure TfrmTestMan_main.Button6Click(Sender: TObject);
var g: TGIFImage;
begin
g := TGIFImage.Create;
g.LoadFromFile('loading.gif');
Image1.Picture.Graphic := g;
TGIFImage(Image1.Picture.Graphic).Animate := True;
g.Free;
end;
2. TJvGIFAnimator 컴포넌트 사용시
xe부터 기본 설치되는 jvcl의 TJvGIFAnimator 컴포넌트를 이용하면 쉽게 디자인 타임에 구현가능하다.
TJvGIFAnimator 의 Image속성에 *.gif 파일을 할당하고 Animate 속성을 True 로 설정하면 쉽게 구현된다.
'델파이' 카테고리의 다른 글
델파이2007 설치후 외부 콤포넌트 라이브러리 설치(JVCL, CPort, 퀵리포트, Indy) (0) | 2015.10.03 |
---|---|
MS Office2013 ADO, OLEDB 제외 AccessDatabaseEngine 별도 설치 (0) | 2015.08.28 |
ScrollBar 윈도우메시지 TWMVScroll 한계 극복 GetScrollInfo , TMemo 스크롤바 이동 (0) | 2015.06.10 |
델파이 배열 상수 사용법, 로컬 디렉토리에서 특정경로의 상위폴더 얻기 (0) | 2015.06.05 |
델파이 TDBGrid 다중 선택시 깔끔한 선택 모양 (0) | 2015.05.16 |