还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

MFC中重载的DoDataExchange函数为何不被调用

来源:清泛原创     2016-11-18 16:55:44    人气:     我有话说( 0 人参与)

MFC中重载的DoDataExchange函数不被调用的原因是没有调用基类的OnInitialUpdate()方法导致的。解决如下:void CMyView::OnInitialUpdate()...

DoDataExchange函数不被调用的原因是没有调基类的OnInitialUpdate()方法导致的。

解决如下:

void CMyView::OnInitialUpdate()
{
  CFormView::OnInitialUpdate(); //关键所在
 //other codes
}

CFormView::OnInitialUpdate();这一句不能少,是关键所在。

基类的OnInitialUpdate函数调用了CWnd的UpdateData(FLASE),而正是UpdateData才会调用我们的DoDataExchange函数,至此被绑定的变量才得以初始化。

所以自定义的窗口类如果要绑定控件与变量,一定要重载虚函数virtual void OnInitialUpdate(),并在里面调用基类的OnInitialUpdate方法。

DoDataExchange OnInitialUpdate

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: