何时确切调用WM_PAINT?我试图创建一个基于对话框的老虎机应用程序,但是我遇到了两个逻辑问题。我的申请将包括:

  • “旋转”按钮
  • 退出按钮
  • 三个BMP图像以显示旋转(硬币/心脏/士兵)的结果

  • 如何使用BMP图像显示旋转的最终结果?我使用WM_PAINT尝试显示图像是否正确,每当用户按下旋转按钮以显示新图像时,如何刷新屏幕?我非常感谢您的帮助!

    最佳答案

    对话框通常使用DefDlgProc作为窗口过程。您无法在WM_PAINT中处理DialogProc(这不是窗口过程)。 You can use your own window procedure with a dialog,但这可能比它的值(value)还要麻烦。

    在对话框上显示位图的最简单方法是使用SS_BITMAP样式的静态控件。

    您可以通过将 STM_SETIMAGE 消息发送到静态控件来更改显示的位图。该控件将负责使用新的位图重新绘制自身。

    如果您只想显示旋转的结果,则可以,但是如果要对转轴的旋转进行动画处理,则效果不佳。要解决此问题,您可以创建自己的静态控件(即每个卷轴的窗口),以显示卷轴位图的一部分。

    10-04 15:08