现在的位置: 首页 > 综合 > 正文

MFC之初始化总结一

2013年09月01日 ⁄ 综合 ⁄ 共 663字 ⁄ 字号 评论关闭

     由于对MFC的不熟悉,中间遇到了很多的问题,现总结一二

CDialog::OnInitDialog()

   在我们自己创建的主对话框的初始化函数内有这么一句,这个函数主要用来对创建的对话框实例化,虽然是不用我们自己写,但是若MFC使用不当,也会导致这个函数遇到许多问题,比如:

     1.创建一个EDIT控件,并添加了一个控件变量,若后面在资源管理器内删除了EDIT控件,但是没有删除其相应的EDIT控件变量与消息映射,编译过程中就会导致错误,此时屏蔽CDialog::OnInitDialog()可以解决一时的问题,但这也是拆东墙补西墙的做法。。。后面会遇到更多的问题(=。=  满眼都是泪啊,我的代码就这样被人修改,而自己当时又不知道有什么后果,导致了一堆错误,还以为网上的源码都是骗人的),现总结几个会导致的错误:控件变量的使用有问题,经常无法通过编译,而只能采用

((CEdit*)GetItemDlg(IDC_EDIT_EXAMPLE))->ADDSTRING()类似的用法。

 其中此GetItemDlg是MFC类中的函数,非API,此处调用的是当前窗口下的ID名为IDC_EDIT_EXAMPLE的控件的相关操作。

 

      2.屏蔽CDialog::OnInitDialog(),CTabCTRL的控件切换,无论是swtich(CTab.GetCursel())或者if判断的都无法通过编译,即使采用((CTabCtrl*)GetItemDlg(IDC_CTAB))->GetCursel()也不行 - -!。

 

待续

抱歉!评论已关闭.