WinAPI: SetLayered WindowAttributes - 창의 투명 성 설정

1368 단어 attribute
내빈 돌 비 재 입 니 다.
질문


//  :

SetLayeredWindowAttributes(

  Hwnd: THandle;   {    }

  crKey: COLORREF; {   }

  bAlpha: Byte;    {Alpha  }

  dwFlags: DWORD   {LWA_COLORKEY(=1)       ; LWA_ALPHA(=2)     Alpha  }

): Boolean;        {      }


 
   
// ( , ): unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} { Alpha } procedure TForm1.Button1Click(Sender: TObject); var h: HWND; FormStyle: Integer; begin h := FindWindow('SciCalc', nil); FormStyle := GetWindowLong(h, GWL_EXSTYLE); SetWindowLong(h, GWL_EXSTYLE, FormStyle or WS_EX_LAYERED); SetLayeredWindowAttributes(h, 0, 128, LWA_ALPHA); end; { } procedure TForm1.Button2Click(Sender: TObject); var h: HWND; FormStyle: Integer; begin h := FindWindow('SciCalc', nil); FormStyle := GetWindowLong(h, GWL_EXSTYLE); SetWindowLong(h, GWL_EXSTYLE, FormStyle or WS_EX_LAYERED); SetLayeredWindowAttributes(h, clWhite, 255, LWA_COLORKEY); end; end.

좋은 웹페이지 즐겨찾기