怎么实现让控件透明 在基于对话框的程序里面怎么实现让控件透明能提供代码或者例子就更好 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 定义常量:#define WS_EX_LAYERED 0x00080000#define LWA_ALPHA 0x00000002声明函数:extern "C" {WINUSERAPI BOOL WINAPISetLayeredWindowAttributes( HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);}头文件: <winuser.h>产生透明窗口:不要忘了给窗口的ExStyle加入WS_EX_LAYERED属性SetWindowLong(GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE)^WS_EX_LAYERED);SetLayeredWindowAttributes(GetSafeHwnd(),RGB(0,0,0),150,LWA_ALPHA); void CAboutDlg::DoDataExchange(CDataExchange* pDX){ /*******ÒÔÏÂÕ⼸ÐдúÂëÄܹ»Ê¹¶Ô»°¿òÏÔʾ͸Ã÷*******/ //¼ÓÈëWS_EX_LAYEREDÀ©Õ¹ÊôÐÔ 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; //È¡µÃSetLayeredWindowAttributesº¯ÊýÖ¸Õë fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes"); if(fun)fun(this->GetSafeHwnd(),0,128,2); FreeLibrary(hInst); } /*******ÒÔÉÏÕ⼸ÐдúÂëÄܹ»Ê¹¶Ô»°¿òÏÔʾ͸Ã÷*******/ CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP} TO:wistaria(听风听雨)请问SetLayeredWindowAttributes是怎么实现的啊 有没有具体一点的例子啊,我的EMIAL:[email protected] SetLayeredWindowAttributes只在2000下可用,最好使用动态装载的形式调用,否则程序在98下根本启动不得. BCB_FANS(四大名捕之追杀令)说的有道理 多线程UpdateData问题 求解!!! 用WaitForMultipleObjects的问题?为什么两次结果不同? 有谁能讲讲如何建立和使用自己的库(.LIB). 寻求志同道合的朋友。或者有人要我不??长沙!!! 帮顶有分 如何使连续发送成功? cview视图和cricheditview如何切换---在单文档中? 小波分析在图像去噪和图像增强方面的应用 学习《windows程序设计》中的问题? VC大虾请进。关于VC做的ActiveX控件的属性的问题。 如何得到文本文件的行数 给定一个文件路径(Web文件)和关键字,在当前Web页中查找有无这个关键字,这样的功能该怎么样实现?
#define WS_EX_LAYERED 0x00080000
#define LWA_ALPHA 0x00000002
声明函数:
extern "C" {
WINUSERAPI BOOL WINAPI
SetLayeredWindowAttributes(
HWND hwnd,
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags);
}
头文件: <winuser.h>
产生透明窗口:
不要忘了给窗口的ExStyle加入WS_EX_LAYERED属性
SetWindowLong(GetSafeHwnd(),
GWL_EXSTYLE,
GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE)^WS_EX_LAYERED);
SetLayeredWindowAttributes(GetSafeHwnd(),RGB(0,0,0),150,LWA_ALPHA);
{
/*******ÒÔÏÂÕ⼸ÐдúÂëÄܹ»Ê¹¶Ô»°¿òÏÔʾ͸Ã÷*******/
//¼ÓÈëWS_EX_LAYEREDÀ©Õ¹ÊôÐÔ
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;
//È¡µÃSetLayeredWindowAttributesº¯ÊýÖ¸Õë
fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
if(fun)fun(this->GetSafeHwnd(),0,128,2);
FreeLibrary(hInst);
}
/*******ÒÔÉÏÕ⼸ÐдúÂëÄܹ»Ê¹¶Ô»°¿òÏÔʾ͸Ã÷*******/
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
请问SetLayeredWindowAttributes是怎么实现的啊
说的有道理