저두 이것 저것 해 봤지만... 가장 좋은 방법은 RGN을 이용해 폼을 잘라내는 것이더군요. 델코의 뉴즈레터 5호에 비트맵의 형상에 따라 폼을 마음대로 재단할 수 있는 BmpRgn.pas 파일을 공개 했습니다. 델코의 자료실에는 이 예제가 있구요. "토토로"가 걸어다니는 예제이니 입맛에 맞으실 껍니다. 마찬가지로 델코의 Q/A란에 보시면 폼 이동의 두 개의 해결방법에 대한 답변도 찾으실 수 있습니다. (외곽만 잡고 옮기는 것과 내용물도 함께 옮기는 법 ^^) 또한 폼의 Invalidate 시에 올려둔 이미지가 깜박이는 문제에 대해서도 이미 양병규님이 WM_ERASEBKGND 메시지에 대한 처리로 해결하는 방안을 내놓으셨구요. 이 적용 예는 BmpRgn.pas 예제와 함께 구하실 수 있습니다.
이 유니트는 헬프워드의 스플래시 폼, 델코 정팅용 팅돌이 등 많은 곳에 응용되고 있으니 뻑날 염려는 별루 없슴다. 속도도 150*80 이미지 만한 폼을 자르는 데 1/10 초 미만이니 "양" 같은 간단한 애니에서는 아주 쓸만할 껍니다.
한가지, 이 방법은 컴의 리소스를 엄청나게 소모한다는 단점이 있습니다. 한 열 개 띄우면 장난 아니게 느려지죠. 분석해 본 결과... MS의 에이전트도 폼을 잘라내는 방법을 쓰더군요. 에이전트가 한 번에 하나의 캐릭터만을 돌리도록 되어있는 이유도... 아마 이것 때문이 아닌가 짐작됩니다.
저두 이것 저것 해 봤지만... 가장 좋은 방법은 RGN을 이용해 폼을 잘라내는 것이더군요. 델코의 뉴즈레터 5호에 비트맵의 형상에 따라 폼을 마음대로 재단할 수 있는 BmpRgn.pas 파일을 공개 했습니다. 델코의 자료실에는 이 예제가 있구요. "토토로"가 걸어다니는 예제이니 입맛에 맞으실 껍니다. 마찬가지로 델코의 Q/A란에 보시면 폼 이동의 두 개의 해결방법에 대한 답변도 찾으실 수 있습니다. (외곽만 잡고 옮기는 것과 내용물도 함께 옮기는 법 ^^) 또한 폼의 Invalidate 시에 올려둔 이미지가 깜박이는 문제에 대해서도 이미 양병규님이 WM_ERASEBKGND 메시지에 대한 처리로 해결하는 방안을 내놓으셨구요. 이 적용 예는 BmpRgn.pas 예제와 함께 구하실 수 있습니다.
이 유니트는 헬프워드의 스플래시 폼, 델코 정팅용 팅돌이 등 많은 곳에 응용되고 있으니 뻑날 염려는 별루 없슴다. 속도도 150*80 이미지 만한 폼을 자르는 데 1/10 초 미만이니 "양" 같은 간단한 애니에서는 아주 쓸만할 껍니다.
한가지, 이 방법은 컴의 리소스를 엄청나게 소모한다는 단점이 있습니다. 한 열 개 띄우면 장난 아니게 느려지죠. 분석해 본 결과... MS의 에이전트도 폼을 잘라내는 방법을 쓰더군요. 에이전트가 한 번에 하나의 캐릭터만을 돌리도록 되어있는 이유도... 아마 이것 때문이 아닌가 짐작됩니다.
그럼...
--------------------------------------------------------------------
델파이의 모든 것. 델파이 코리아. http://www.delphikorea.com
--------------------------------------------------------------------