注意mfc下oninitdialog()和onsize()的调用顺序

BOOL dddd::OnInitDialog()

{

       // 代码区1
      CDialog::OnInitDialog();     // 注:句1

       // 代码区2
}

 

void dddd::OnSize(UINT nType, int cx, int cy)

{

}

 

猜测:在程序调用的时候,OnInitDialog函数与OnSize()应该相当于两个线程如:

{

     Beginthread( OnInitDialog );

     Beginthread( OnSize );

}

 

所以:程序运行时如果一个实体(比如说控件)在OnInitDialog 中还没有创建,但是在OnSize 中已经设置位置了,那么就会出现错误---gwse.exe。

 

注:

1.在句1执行之前是运行1次OnSize(),在句子运行之后是还要运行OnSize()的。

2.注意代码区1和代码区2。有些代码应该写在代码区域2中:

比如说:

2.1m_wndCommandBar

2.2// 右上角按钮变成叉  ::SHDoneButton(m_hWnd,SHDB_HIDE)

等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值