在MFC中从左到右平滑地移动椭圆对象
Moving an Ellipse Object from left to right smoothly in MFC
我有一个扩展CStatic
的MyEllipe
类。
我有我自己的自定义的OnPaint
方法体覆盖。
我有一个方法来移动这个对象在一个对话框中从左到右移动:
for(int i = 0; i <= 600; i++) {
myEllipseObject->SetWindowPos(NULL, i, 300, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
Sleep(1);
}
基本上,它一个接一个地移动,延迟1毫秒。是工作吗?是的。对吗?我很怀疑:)。那么,正确有效的方法是什么呢?我有一个椭圆和一个矩形,我想在用户点击按钮时从左向右移动。
您通常会使用计时器来完成此操作。例如,您可以设置一个计时器,并在计时器触发时更新位置。您既可以响应WM_TIMER
消息,也可以指定一个函数,让它在定时器触发时调用。
相关文章:
- 当 std::move 与 C 样式数组或不移动对象时会发生什么
- 如果这不是类的"复制构造函数",是否可以移动对象?
- 我可以从向量的开头移动对象吗?为什么不呢
- 为什么可以使用已删除的移动构造函数和赋值运算符移动对象?
- 使用参数将仅可移动对象捕获到 lambda
- 初始化不可移动对象数组:为什么这样的代码无法在 GCC 上编译?
- c++ 从成员函数创建新线程并移动对象和整个对象
- 返回unique_ptr或只是移动对象
- 将 OpenGL 实例化图形与移动对象一起使用
- 如何在给定两个点的线上移动对象?
- 使用文件描述符移动对象
- 为什么移动对象不会使其为空?
- 被引用的移动对象
- Maya c++ API,移动对象?
- 为什么传递std ::移动(对象)和此对象的成员函数会导致sigsegv
- 命令模式:如何进行连续操作?(例如,移动对象)
- 返回具有显式构造函数的不可复制的不可移动对象
- 如何在 C++ 中的特定边界内移动对象
- 在阵列中向上移动对象
- DirectX 11 基于旋转移动对象