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