【问题标题】:Win32 Window resize animationWin32 窗口调整大小动画
【发布时间】:2011-07-13 10:46:51
【问题描述】:

我想在我的 32 应用程序中调整带有动画的窗口大小。我到处搜索,但找不到这样做的 Win32/MFC API。我需要的动画行为非常简单。它只是扩大窗口的高度。请让我知道如何实现这种行为。

【问题讨论】:

    标签: windows animation mfc win32gui


    【解决方案1】:

    您可以使用 GDI 实现一些自定义动画效果。首先使用 GetWindowRect 获取窗口的坐标和位置。使用 ShowWindow 隐藏窗口。现在在计时器中使用 DrawRect、FillRect 等绘制动画。我建议使用系统窗口颜色填充矩形。然后在动画完成后再次使用 ShowWindow 显示/调整窗口大小。

    【讨论】:

      【解决方案2】:

      查看 ::AnimateWindow()。 MSDN 链接:http://msdn.microsoft.com/en-us/library/ms632669%28v=vs.85%29.aspx.

      【讨论】:

      • 嗨 Roel,AnimateWindow 看起来非常适合动画。但是我怎样才能将高度从 598 调整为 674?
      • 你是对的,我错了; AnimateWindow() 仅用于显示/隐藏窗口。你必须滚动你自己的动画。您可以手动进行(每 100 毫秒左右使用计时器逐步调整窗口大小);显然,在 VS2010 (nuonsoft.com/blog/2010/12/16/the-new-mfc-animation-api) 的 SP1 更新中还有一个以各种方式进行插值的类,但我从未使用过它。
      猜你喜欢
      • 2011-03-17
      • 1970-01-01
      • 2021-04-06
      • 2016-11-04
      • 2011-07-09
      • 1970-01-01
      • 2013-09-17
      • 2017-03-12
      • 2023-03-09
      相关资源
      最近更新 更多