gpt4 book ai didi

c++ - 如何使用 Window 的 C++ 图形 (GDI+) 库移动对象?

转载 作者:太空宇宙 更新时间:2023-11-04 11:50:42 25 4
gpt4 key购买 nike

到目前为止,我只复制/粘贴了 Microsoft 的示例 here (但我删除了#include)。

我试图弄清楚 OnPaint 是如何被不断调用的(因为有移动的物体),但它似乎被调用的次数不超过一次。

如何使用标准 Windows C++ 图形库(即 GDI+ 或其他标准 Windows API)创建移动对象?我必须自己调用 OnPaint 吗?或者是否有一个简单的修复方法可以让它不断被调用?还是根本不可能?

最佳答案

OnPaint() 方法只会在 Windows 认为您的窗口需要重新绘制时运行。通常,首次创建窗口时只发生一次。或者当您最小化和恢复窗口时。

要强制它运行不止一次并为某些东西设置动画,您必须告诉它需要重绘。最好的方法是使用计时器,它会给你一个动画时钟。将间隔设置为略小于 15.625 毫秒的倍数的数字。 45 毫秒是一个不错的值,它让你每秒更新 21 次。假设你可以画得足够快。在 WM_TIMER 消息处理程序中调用 InvalidateRect()。或者 Invalidate() 如果你使用 Winforms。

关于c++ - 如何使用 Window 的 C++ 图形 (GDI+) 库移动对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18421581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com