Windows程序的几个函数调用顺序

本文探讨了在Windows编程中,对话框对象创建及初始化过程中的函数调用顺序问题。作者发现OnSize函数在OnInitDialog之前被调用,导致窗口句柄为空的问题,并找到了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 我在OnInitDialog函数中创建了一个对象,在OnSize中使用发现出错,窗口句柄(m_hWnd)为NULL。
后来在两个函数中分别使用AfxMessageBox弹出消息框,发现OnSize中的消息是先弹出的!这就是说OnSize先于OnInitDialog函数而运行了。
那我在OnInitDialog中创建的对象怎么在OnSize中使用呢?我只是想在对话开显示的时候将创建的对象充满对话框的大小。不知道有没有别的办法?

----------------------------------------------------------------------------

改在OnCreate中创建的可以了.


几个函数的运行顺序是这样的:
Create => OnCreate => OnSize => OnInitDialog
通过添加AfxMessageBox确定的应该没错吧, 呵呵.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值