禁用对话框上的aero淡入效果

时间:2010-10-09 17:13:43

标签: c++ windows mfc dialog aero

我有一个我用MFC创建的模态对话框。当它出现时,Aero主题会出现一个新窗口的淡入过渡。在我的特殊情况下,我立即从一个对话框切换到另一个对话框,淡入淡出效果令人分心。有没有办法可以禁用它,以便立即显示窗口,就像Aero被禁用时一样,但是没有完全关闭Aero?

1 个答案:

答案 0 :(得分:4)

DwmSetWindowAttribute功能可能会对您有所帮助。它允许您修改与DWM相关的许多窗口属性。特别是,DWMWA_TRANSITIONS_FORCEDISABLED属性提到“启用或强制禁用DWM转换”,这可能会起到作用。

HRESULT hr = S_OK;
LPCVOID dwAttribute  = (LPCVOID)TRUE;

hr = DwmSetWindowAttribute(hWnd, DWMWA_TRANSITIONS_FORCEDISABLED, 
        &dwAttribute, sizeof(dwAttribute));

if (SUCCEEDED(hr))
{
   // The transitions should have been disabled
}