MFC缩小对话框不会调用OnPaint吗

Sybil_aoi 2018-02-18 11:11:30
之前都是直接提问的但现在提问悬赏好像变成币了?不是很清楚就这么发帖了,希望没弄错......
这是我写的一个尺子。通过放大和缩小对话框时,相应的刻度位置会改变。
出于好奇,写完之后,我把OnSize里所有的代码复制到了OnPaint里,并注释掉了OnSize里的代码。
结果,拉长对话框时刻度的位置仍能正常改变,但缩小时就不能了(如图),此时如果遮盖对话框或进行其他我知道的会调用OnPaint的操作,刻度就会立刻恢复正常。所以难道缩小对话框时是不会调用OnPaint的吗?

...全文
444 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgl7903 2018-02-19
  • 打赏
  • 举报
回复
添加 WM_SIZE 消息响应, Invalidate();
Sybil_aoi 2018-02-19
  • 打赏
  • 举报
回复
引用 5 楼 zgl7903 的回复:
OnPaint 中 TRACE一下, 然后拖大/拖小 观察TRACE输出, 从我这边的测试拖大时有TRACE,缩小时没有,所以处理WM_SIZE好像是必须的
感谢!
schlafenhamster 2018-02-19
  • 打赏
  • 举报
回复
OnSize 是 正确 响应 !
zgl7903 2018-02-19
  • 打赏
  • 举报
回复
OnPaint 中 TRACE一下, 然后拖大/拖小 观察TRACE输出, 从我这边的测试拖大时有TRACE,缩小时没有,所以处理WM_SIZE好像是必须的
Sybil_aoi 2018-02-19
  • 打赏
  • 举报
回复
引用 1 楼 schlafenhamster 的回复:
OnSize 是 正确 响应 !
您会错意了,我不是不知道怎么做,我的程序已经完成了,就是用OnSize的,我只是好奇为之,然后发现有这种情况,所以专门问下缩小对话框是不是不会调用OnPaint而已。
Sybil_aoi 2018-02-19
  • 打赏
  • 举报
回复
引用 2 楼 zgl7903 的回复:
添加 WM_SIZE 消息响应, Invalidate();
您会错意了,我不是不知道怎么做,我的程序已经完成了,就是用OnSize的,我只是好奇缩小对话框是不是不会调用OnPaint而已。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧