什么时候调用WM_PAINT?我试图创建一个基于对话框的老虎机应用程序,但我遇到了几个逻辑问题。我的申请将包括:
如何使用BMP图像显示旋转的最终结果?我是否正确使用WM_PAINT尝试显示图像,每次用户按下旋转按钮以显示新图像时,我将如何刷新屏幕?我非常感谢你的帮助!
答案 0 :(得分:3)
对话框通常使用DefDlgProc
作为窗口过程。您无法处理WM_PAINT
中的DialogProc
(这不是窗口过程)。 You can use your own window procedure with a dialog但这可能比它的价值更麻烦。
在对话框中显示位图的最简单方法是使用SS_BITMAP
样式的静态控件。
您可以通过向静态控件发送STM_SETIMAGE
消息来更改显示的位图。控件将使用新位图重新绘制自己。
如果您只想显示旋转的结果,这是可以的,但如果您想要动画旋转卷轴的动画,则效果不佳。要处理这个问题,您可以创建自己的静态控件(即每个卷轴的窗口),它将显示卷轴位图的一部分。