如何自定义阴影

时间:2013-02-04 10:33:08

标签: c++ qt qt5

我想更改QCompleter弹出窗口的外观。我试过了QGraphicsDropShadowEffect,但它没有工作,因为那个窗口有系统阴影。如果我将DropShadowEffect与依赖于平台的WinApi代码组合在一起以禁用系统阴影窗口小部件,则它根本不显示。

禁用系统阴影示例:

<!-- language: lang-cpp -->
HWND hWnd = reinterpret_cast<HWND>(popup()->winId());  
DWORD windowStyle = GetClassLongW(hWnd, GCL_STYLE);          
if(windowStyle & CS_DROPSHADOW)                              
{                                                            
    windowStyle ^= CS_DROPSHADOW;                            
    SetClassLongW(hWnd, GCL_STYLE, windowStyle);             
}                        

Qt 5.0.1
gcc 4.7.2
Windows 7 x64

0 个答案:

没有答案