wm_paint与wm_command重绘的问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 18:33:22
当处理按钮消息的时候,我采用了wm_command消息进行处理,在客户区用TEXTOUT函数打印出来一行文本,但是当将窗口最小化以后,再最大化以后,窗口中刚才打印出来的那一行文本就消失了,我知道这是因为没有在WM_PAINT消息中进行绘制的原因,我想问一下有没有一种方法,可以不在WM_PAINT重绘,最大化以后仍然能够显示出来那一行文本呢?谢谢

最大化的时候,窗口会接受到 WM_PAINT消息执行重绘(还调用了wm_erasebkgnd消息清除背景),那就把你刚才画的给清除了。

要满足你的要求,可以设一个标记,比如你按钮后,设置一个变量为真。(然后RedrawWindow)
再在wm_paint消息处理里面根据这个条件执行TEXTOUT输出。就行了。

可以用WM_SIZE消息。如果窗口最小化就什么都不做,如果最大化就重绘。

不行