MFC中重载的DoDataExchange函数为何不被调用
清泛原创
DoDataExchange函数不被调用的原因是没有调基类的OnInitialUpdate()方法导致的。
解决如下:
void CMyView::OnInitialUpdate()
{
CFormView::OnInitialUpdate(); //关键所在
//other codes
}
CFormView::OnInitialUpdate();这一句不能少,是关键所在。
基类的OnInitialUpdate函数调用了CWnd的UpdateData(FLASE),而正是UpdateData才会调用我们的DoDataExchange函数,至此被绑定的变量才得以初始化。
所以自定义的窗口类如果要绑定控件与变量,一定要重载虚函数virtual void OnInitialUpdate(),并在里面调用基类的OnInitialUpdate方法。
DoDataExchange OnInitialUpdate
上一篇:GetNextDlgTabItem用法详解,回车替代Tab键切换控件焦点
下一篇:Picture Control(图片控件)中静态显示位图,解决位图不显示的问题