【问题标题】:How to Disable Window "Show" Animation?如何禁用窗口“显示”动画?
【发布时间】:2018-11-18 11:02:48
【问题描述】:

每当在 Windows 中显示一个窗口时,它都会有一个快速显示动画,可以将其缩放/淡入。有没有办法跳过该动画并使其立即出现?我已经设法做到了几种方法,但它们都涉及删除我想要维护的 WS_THICCFRAME。

是否有我可以取消或覆盖的事件?我可以使用任何功能吗?

【问题讨论】:

  • 为什么要这样做?让用户决定是否启用动画。
  • 我想你想要const void* attrib = (const void*)TRUE; DwmSetWindowAttribute(m_hWnd, DWMWA_TRANSITIONS_FORCEDISABLED, &attrib, sizeof(attrib));
  • @BarmakShemirani 工作完美!请给出答案。

标签: c++ windows winapi dialog window


【解决方案1】:

DwmSetWindowAttribute,与DWMWA_TRANSITIONS_FORCEDISABLED,将禁用窗口动画:

BOOL attrib = TRUE;
DwmSetWindowAttribute(m_hWnd, DWMWA_TRANSITIONS_FORCEDISABLED, &attrib, sizeof(attrib));

旁注,

当动画被禁用并最小化/恢复窗口时,过渡看起来会有点奇怪。

我个人更喜欢显示一些没有动画的窗口,然后在显示窗口后恢复默认行为(再次调用DwmSetWindowAttribute,使用attrib = FALSE;

【讨论】:

    猜你喜欢
    • 2013-04-13
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多