静态控制不透明+MFC

Posted

技术标签:

【中文标题】静态控制不透明+MFC【英文标题】:Static control is not transparent +MFC 【发布时间】:2009-05-15 19:21:58 【问题描述】:

我们已经创建了一个工具栏。工具栏上有一个静态控件,我们在该静态控件上放置了 ab 图标图像。问题是静态控件有自己的颜色,我们无法使其相对于浏览器主题颜色透明。

所以当浏览器主题改变时,我们的图标看起来有一些背景颜色。

【问题讨论】:

“浏览器主题”是什么意思?网络浏览器中的主题?浏览器主题与 MFC 工具栏有何关系?活动X?你是说 Window 的主题吗? 【参考方案1】:

您是否考虑过在绘制静态控件时查看工具栏中的覆盖 WM_CTLCOLOR 以返回 NULL_BRUSH?

【讨论】:

【参考方案2】:

派生出您自己的所有者绘制的静态控件,并使用加载到 CImage 中的 PNG 来为您提供每像素 alpha。

无法使用 maskblt 完成您所要求的操作......但使用 ATL 和 GDI+ 的 CImage 类更容易全面:)

【讨论】:

以上是关于静态控制不透明+MFC的主要内容,如果未能解决你的问题,请参考以下文章

mfc怎么修改静态文本控件文字颜色

mfc 时钟 OnTimer 非静态成员函数的非法调用

MFC:在静态控件上更改字体大小不起作用?

MFC静态文本框

MFC如何使用静态MFC库

MFC如何知道光标在那个控件上 用哪个函数?谢谢