9 个解决方案
#1
::SetWindowLong(m_hWnd, GWL_EXSTYLE, ::GetWindowLong(m_hWnd, GWL_EXSTYLE)^0x80000);
SetLayeredWindowAttributes(m_hWnd, RGB(0, 0, 0), 255, LWA_ALPHA);
SetLayeredWindowAttributes(m_hWnd, RGB(0, 0, 0), 255, LWA_ALPHA);
#2
没明白,我尝试了下步行,而且改变窗口风格的时候采取异或的方法 实在不解,可否指点一二
#4
设置透明度为1就可以了 如果按颜色透明就是全透明了,那样不会收到消息
#5
但是我现在需要的是只有白色的部分为透明,而非白色部分的为不透明? 按你的意思可以使得白色的部分为透明度为1,其他地方为255,但是这如何可以做的到?看过那个函数,我不知道如何可以实现你说的这种方式
#6
但是我现在需要的是只有白色的部分为透明,而非白色部分的为不透明? 按你的意思可以使得白色的部分为透明度为1,其他地方为255,但是这如何可以做的到?看过那个函数,我不知道如何可以实现你说的这种方式
#7
但是我现在需要的是只有白色的部分为透明,而非白色部分的为不透明? 按你的意思可以使得白色的部分为透明度为1,其他地方为255,但是这如何可以做的到?看过那个函数,我不知道如何可以实现你说的这种方式
#8
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->m_hWnd,0,220,2);
FreeLibrary(hInst);
}
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->m_hWnd,0,220,2);
FreeLibrary(hInst);
}
#9
你的只能加载png图片了吧,那个参数是做不到的。
#1
::SetWindowLong(m_hWnd, GWL_EXSTYLE, ::GetWindowLong(m_hWnd, GWL_EXSTYLE)^0x80000);
SetLayeredWindowAttributes(m_hWnd, RGB(0, 0, 0), 255, LWA_ALPHA);
SetLayeredWindowAttributes(m_hWnd, RGB(0, 0, 0), 255, LWA_ALPHA);
#2
没明白,我尝试了下步行,而且改变窗口风格的时候采取异或的方法 实在不解,可否指点一二
#3
#4
设置透明度为1就可以了 如果按颜色透明就是全透明了,那样不会收到消息
#5
但是我现在需要的是只有白色的部分为透明,而非白色部分的为不透明? 按你的意思可以使得白色的部分为透明度为1,其他地方为255,但是这如何可以做的到?看过那个函数,我不知道如何可以实现你说的这种方式
#6
但是我现在需要的是只有白色的部分为透明,而非白色部分的为不透明? 按你的意思可以使得白色的部分为透明度为1,其他地方为255,但是这如何可以做的到?看过那个函数,我不知道如何可以实现你说的这种方式
#7
但是我现在需要的是只有白色的部分为透明,而非白色部分的为不透明? 按你的意思可以使得白色的部分为透明度为1,其他地方为255,但是这如何可以做的到?看过那个函数,我不知道如何可以实现你说的这种方式
#8
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->m_hWnd,0,220,2);
FreeLibrary(hInst);
}
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->m_hWnd,0,220,2);
FreeLibrary(hInst);
}
#9
你的只能加载png图片了吧,那个参数是做不到的。