关于OnSize函数的疑问

terry_scut 2012-09-19 10:07:30
想实现控件大小随窗口大小的改变而改变,于是采用OnSize函数实现,调试时发现第一次传入的参数cx、cy是正确的,但第二次传入的cx、cy却变成了0,而此时窗口都还没呈现,为什么传入的参数是0呢?
...全文
130 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-03-20
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
傻X 2012-09-19
  • 打赏
  • 举报
回复
1楼不是大版的小号??都叫Eleven
Eleven 2012-09-19
  • 打赏
  • 举报
回复
OnSize函数可能会被调用多次,你在MoveWindow/SetWindowPos()之前先判断子窗口的HWND是否有效
傻X 2012-09-19
  • 打赏
  • 举报
回复
方法1:
判断数据大小直接不处理

方法2:
我判断句柄是否存在再处理

2种都不错
Eleven6 2012-09-19
  • 打赏
  • 举报
回复
窗口没有,当然就是0了。

一般你判断下
if (cx <= 0 || cy <= 0) { return; }
不用处理。
昨夜无风 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
1楼不是大版的小号??都叫Eleven
[/Quote]

是第六个冒牌的了

15,978

社区成员

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

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