어떻게 할까 [Delphi] 비트맵으로 윈도우 폼 깍기. rageworx 2008. 2. 7. 20:43 이 팁은 빵집3 로 유명하신 양병규님이 예전에 알려주신 방법 입니다. 매우 간단히 Win32 API 2개로 그냥 끝을 내 버리는 군요 -_-; function BitmapToRegionEx(Bitmap: TBitmap; TransColor: TColor): HRGN; var X, Y: Integer; Temp : HRGN; begin Result := 0; with Bitmap do for Y := 0 to Height - 1 do begin for X := 0 to Width -1 do begin if Canvas.Pixels[X, Y] <> TransColor then begin if Result = 0 then Result := CreateRectRgn(X, Y, X+1, Y + 1) else begin Temp := CreateRectRgn(X, Y, X+1, Y + 1); CombineRgn(Result, Result, Temp, RGN_OR); DeleteObject(Temp); end; end; end; end; end; procedure TForm1.SetFormRgnFromBitmap(Bitmap: TBitmap); var Rgn: HRGN; begin Rgn := BitmapToRegionEx(Bitmap, ColorToRGB(Bitmap.Canvas.Pixels[0, 0]) ); //Rgn := CreateBitmapRgn(Bitmap); try SetWindowRgn( Handle, Rgn, True ); finally DeleteObject( Rgn ); end; end; 이걸로 투명 비트맵 모양대로 깍인 독특한 윈도우를 만들수 있습니다 ^^ 공유하기 게시글 관리 자유로운 그날을 위해 '어떻게 할까' Related Articles IE7 기본 검색자로 구글 등록 하기. Windows vista 에 third-party theme 적용하기. [Delphi] 마우스 커서에 위치한 윈도우의 핸들및 클래스이름 알아 오기. [DELPHI] Starship : software 3D rendering example