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