SDK编程如何实现一个窗口背景透明,解决了给高分
我需要一个窗口背景透明(别告诉我隐藏啊),我要实现类似桌面歌词的那个窗口效果,但是同时我又需要这个窗口缓慢移动,我响应了消息WM_ERASEBKGNDLE,在里面用NUL...
我需要一个窗口背景透明(别告诉我隐藏啊),我要实现类似桌面歌词的那个窗口效果,但是同时我又需要这个窗口缓慢移动,我响应了消息WM_ERASEBKGNDLE,在里面用NULL_BRUSH画刷擦除背景,但是我发现只要窗口一移动,刷新也没效果,就像窗口带着一块图片在移动,窗口并不是随在下层背景改变而改变,也就是说窗口不透明了,谁能告诉我该怎么解决,提供代码或思路,我出高分,分我多的是,只要有本事给出有效的解决方法,我一定加高分,不要告诉我用其他控件或组件啊,就按我说的
展开
展开全部
Sets the opacity and transparency color key of a layered window.
BOOL SetLayeredWindowAttributes(
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags
);
// Set WS_EX_LAYERED on this window
SetWindowLong(hwnd,
GWL_EXSTYLE,
GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);
// Make this window 70% alpha
SetLayeredWindowAttributes(hwnd, 0, (255 * 70) / 100, LWA_ALPHA);
更对信息请看MSDN.
BOOL SetLayeredWindowAttributes(
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags
);
// Set WS_EX_LAYERED on this window
SetWindowLong(hwnd,
GWL_EXSTYLE,
GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);
// Make this window 70% alpha
SetLayeredWindowAttributes(hwnd, 0, (255 * 70) / 100, LWA_ALPHA);
更对信息请看MSDN.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询