究竟何时调用 WM_PAINT?我试图创建一个基于对话的老虎机应用程序,但我遇到了几个逻辑问题。我的申请将包括:
- “旋转”按钮
- 退出按钮
- 三个BMP图像显示旋转的结果(硬币/心脏/士兵)
我将如何使用 BMP 图像显示旋转的最终结果?我是否正确使用 WM_PAINT 尝试显示图像,每次用户按下旋转按钮以显示新图像时我将如何刷新屏幕?我真的很感激帮助!
对话框通常DefDlgProc
用作窗口过程。你不能处理WM_PAINT
你的DialogProc
(它不是一个窗口过程)。 您可以将自己的窗口过程与对话框一起使用,但这可能比它的价值更麻烦。
在对话框上显示位图的最简单方法是使用带有SS_BITMAP
样式的静态控件。
您可以通过将STM_SETIMAGE
消息发送到静态控件来更改显示的位图。控件将负责使用新位图重新绘制自身。
如果您只想显示旋转的结果,这是可以的,但如果您想为卷轴的旋转设置动画,则效果不佳。要处理此问题,您可以创建自己的静态控件(即每个卷轴的窗口),以显示卷轴位图的一部分。