透明效果

ModifyStyleEx(0, WS_EX_LAYERED);//修改窗口属性为WS_EX_LAYERED
SetLayeredWindowAttributes(0, 192, LWA_ALPHA); //实现透明效果

或者 vs2003之前加xi

SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000); 
HINSTANCE hinst=LoadLibrary("User32.dll");
if(hinst)
{
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun=NULL;
fun=(MYFUNC)GetProcAddress(hinst,"SetLayeredWindowAttributes");
if(fun)
{
if(m_bTransparent==FALSE)
{
fun(this->GetSafeHwnd(),0,100,2);
m_bTransparent=TRUE;
}
else
{
fun(this->GetSafeHwnd(),0,0,2);
m_bTransparent=FALSE;
}
FreeLibrary(hinst);
}
}

//

SetLayeredWindowAttributes Function

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

Syntax

BOOL WINAPI SetLayeredWindowAttributes(
  __in  HWND hwnd,
  __in  COLORREF crKey,
  __in  BYTE bAlpha,
  __in  DWORD dwFlags
);

Parameters

hwnd [in]

Type: HWND

A handle to the layered window. A layered window is created by specifying WS_EX_LAYERED when creating the window with the CreateWindowEx function or by setting WS_EX_LAYERED via SetWindowLong after the window has been created.

crKey [in]

Type: COLORREF

COLORREF structure 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 [in]

Type: BYTE

Alpha value used to describe the opacity of the layered window. Similar to the SourceConstantAlpha member of the BLENDFUNCTION structure. When bAlphais 0, the window is completely transparent. When bAlpha is 255, the window is opaque.

dwFlags [in]

Type: DWORD

An action to be taken. This parameter can be one or more of the following values.

Value Meaning
LWA_ALPHA 0x00000002

Use bAlpha to determine the opacity of the layered window.

LWA_COLORKEY 0x00000001

Use crKey as the transparency color.

 

Return Value

Type: BOOL

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

Note that once SetLayeredWindowAttributes has been called for a layered window, subsequent UpdateLayeredWindow calls will fail until the layering style bit is cleared and set again.

For more information, see Using Layered Windows.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值