폼 배경에 비트맵 넣기
AnimateWindow() API함수는 폼에게 애니메이션 효과를 줄 수 있는 함수이다.
그런데, 폼에 TImage를 올려놓고 비트맵을 불러드린 다음에,
애니메이션 효과를 주면 비트맵이 보이지 않는다.
그래서 MSDN을 찾아보니,
WM_PRINTCLIENT를 사용하라고 나온다.
소스참고
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm2 = class(TForm)
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
Bitmap: TBitmap;
procedure WMPRINTCLIENT( var Msg: TMessage ); message WM_PRINTCLIENT;
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormShow(Sender: TObject);
begin
AnimateWindow( Handle, 500, AW_VER_NEGATIVE );
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
Bitmap:= TBitmap.Create;
Bitmap.LoadFromFile( '1111.bmp' );
end;
procedure TForm2.FormDestroy(Sender: TObject);
begin
Bitmap.Free;
end;
procedure TForm2.FormPaint(Sender: TObject);
begin
Self.Canvas.StretchDraw( Canvas.ClipRect, Bitmap );
end;
procedure TForm2.WMPRINTCLIENT(var Msg: TMessage);
begin
PaintTo( HDC( Msg.WParam ), 0, 0 );
end;
'Delphi Tip > 이미지-영상' 카테고리의 다른 글
이미지의 밝기 / 선명도 조절하기 (0) | 2024.06.18 |
---|---|
TImage에 색상바 그리기 (0) | 2024.06.03 |
BMP에 DPI값 세팅하기 및 알아오기 (0) | 2024.01.26 |
이미지 마우스로 움직이기 (0) | 2024.01.04 |
델파이 RGB 와 HSL 유틸 유닛 (0) | 2021.10.22 |
댓글