16,549
社区成员




如题,我用SetWindowCompositionAttribute给主窗口加了半透明模糊效果后,上面的控件文本也变透明:
经我测试,一切黑色像素都会变全透明(上图窗口背景透明就是因为我画了纯黑色),白色仍然不透明,其它颜色会以某种算法呈现半透明(见上图中Syslink的蓝色) 。但我想让控件文本仍是不透明的黑色。请问有何办法?
以下是我调用SetWindowCompositionAttribute的代码:
DWORD accent[4] = { 3,0,0,0 }; // 3是AccentState=ACCENT_ENABLE_BLURBEHIND
struct {
DWORD attrib;
PVOID pvData;
UINT cbData;
} AttribData = {19,accent,sizeof(accent)}; // 19是WCA_ACCENT_POLICY
SetWindowCompositionAttribute(m_hWnd, &AttribData); // m_hWNd是主窗口