c++ - 在对话框上禁用 aero 淡入效果

标签 c++ windows mfc dialog aero

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

最佳答案

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
}

关于c++ - 在对话框上禁用 aero 淡入效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3897070/

相关文章:

c++ - 具有 gcc vector 扩展的四元数乘法

windows - 如何在 NTFS 上创建稀疏文件?

windows - 使用 ffmpeg 捕获 Windows 屏幕

c++ - 调试到 MFC 代码

c++ - 比较 2 个字符串格式的 SID

mfc - 如何获取pendrive的盘符

c++ - 多种数据类型的单个模板对象

c++ - 在 C++ 中构造对象时进行两次隐式转换是否有效?

如果在头文件中定义映射,则需要 C++ include 语句

python - 如何在 Windows 上安装 gssapi python 模块?