SDK编程如何实现一个窗口背景透明,解决了给高分

我需要一个窗口背景透明(别告诉我隐藏啊),我要实现类似桌面歌词的那个窗口效果,但是同时我又需要这个窗口缓慢移动,我响应了消息WM_ERASEBKGNDLE,在里面用NUL... 我需要一个窗口背景透明(别告诉我隐藏啊),我要实现类似桌面歌词的那个窗口效果,但是同时我又需要这个窗口缓慢移动,我响应了消息WM_ERASEBKGNDLE,在里面用NULL_BRUSH画刷擦除背景,但是我发现只要窗口一移动,刷新也没效果,就像窗口带着一块图片在移动,窗口并不是随在下层背景改变而改变,也就是说窗口不透明了,谁能告诉我该怎么解决,提供代码或思路,我出高分,分我多的是,只要有本事给出有效的解决方法,我一定加高分,不要告诉我用其他控件或组件啊,就按我说的 展开
 我来答
百度网友ed6811bc6
2011-06-24 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:96
采纳率:100%
帮助的人:130万
展开全部
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.
极天异云
2011-06-23 · TA获得超过1054个赞
知道小有建树答主
回答量:1170
采纳率:42%
帮助的人:397万
展开全部
你移动了窗口以后貌似要调用重画命令让它产生一个WM_ERASEBKGNDLE消息的。
单纯的移动窗口并不会触发这个消息,
没试验过,只是猜测。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式