天天看點

VC 視窗透明化

//ModifyStyleEx(0, WS_EX_LAYERED|WS_EX_TRANSPARENT);  //視窗透明并且不接受滑鼠消息
	ModifyStyleEx(0, WS_EX_LAYERED);  //視窗透明但接受滑鼠消息
	SetLayeredWindowAttributes(0, 128, 2);  //第二個參數表示透明度
	//SetWindowPos(&CWnd::wndTopMost, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);
           

以下資訊來自MSDN

CWnd::SetLayeredWindowAttributes
VC 視窗透明化

Sets the opacity and transparency color key of a layered window.

BOOL SetLayeredWindowAttributes(
   COLORREF crKey,
   BYTE bAlpha,
   DWORD dwFlags
);      
BOOL SetLayeredWindowAttributes(
   COLORREF crKey,
   BYTE bAlpha,
   DWORD dwFlags
);      

Parameters

crKey
Pointer to a                    COLORREF value that specifies the transparency color key to be used when composing the layered window. All pixels painted by the window in this color will be transparent. To generate a                    COLORREF, use the RGB macro.                
bAlpha
Alpha value used to describe the opacity of the layered window. For more information, see the                    SourceConstantAlpha member of the                    BLENDFUNCTION structure. When                    bAlpha is 0, the window is completely transparent. When                    bAlpha is 255, the window is opaque.                
dwFlags
Specifies an action to take. This parameter can be one or more of the following values. For a list of possible values, see                   SetLayeredWindowAttributes.                

Return Value

Nonzero if the function succeeds; otherwise 0.

Remarks

This member function emulates the functionality of the function                SetLayeredWindowAttributes, as described in the Windows SDK.