如何使窗口透明?高手请进,非一般问题!! 如何使CWnd类建的窗口透明?不是对话框! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 // Set WS_EX_LAYERED on this window SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);// Make this window 70% alphaSetLayeredWindowAttributes(hwnd, 0, (255 * 70) / 100, LWA_ALPHA); 记得将stdafx.h中的:_WIN32_WINNT 0x0400改为:_WIN32_WINNT 0x0500 这个只能用于Dialog,不能用于CView和CWnd建立的窗口 谁说只能用作Dialog,只要不是子窗口就行了。 用CWnd的CreateEx进行透明,代码如下CreateEx(WS_EX_TRANSPARENT, ... 功能:设置窗体的透明度参数:pos 透明层度取值(0-100)void CTranswinDlg::SetFreeLibrary(int Pos){ Pos=Pos*2.55; BYTE eff=(BYTE)Pos; HINSTANCE hInst = LoadLibrary("User32.DLL"); //加载DLL if(hInst) { typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD); MYFUNC fun = NULL; //取得SetLayeredWindowAttributes函数指针 fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes"); //调用SetLayeredWindowAttributes if(fun)fun(this->GetSafeHwnd(),0,eff,2); FreeLibrary(hInst); }; } xdjm,现在要透明的是CWnd建的子窗口.大家看看有透明的办法? 兔子党给大家拜个早年~ DX默认是左手系,怎么使用右手系 我的VC6.0没有FLASH控件,怎么加入? SNMP程序 release版本的问题 clistctrl 标题栏的问题 111222 你的恐怖网站 ifree.533.net 上不去,请发一份给我好吗? 在MATLAB里能求出彩色图像的R、G、B三个分量吗? CMenu::EnableMenuItem的用法 进程的句柄能否跟一个完成端口对象绑定呢? 怎样改变edit控件的背景颜色和字体颜色? 请问命令行如何上网啊? 非高人不能解决
SetWindowLong(hwnd,
GWL_EXSTYLE,
GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);// Make this window 70% alpha
SetLayeredWindowAttributes(hwnd, 0, (255 * 70) / 100, LWA_ALPHA);
改为:
_WIN32_WINNT 0x0500
CreateEx(WS_EX_TRANSPARENT, ...
参数:pos 透明层度取值(0-100)
void CTranswinDlg::SetFreeLibrary(int Pos)
{
Pos=Pos*2.55;
BYTE eff=(BYTE)Pos;
HINSTANCE hInst = LoadLibrary("User32.DLL"); //加载DLL
if(hInst)
{
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL;
//取得SetLayeredWindowAttributes函数指针
fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
//调用SetLayeredWindowAttributes
if(fun)fun(this->GetSafeHwnd(),0,eff,2);
FreeLibrary(hInst);
};
}