libcan

MFC学习随笔(1)

  最近在学习用MFC编写一个简单的界面。其实MFC并不是十分复杂的,经过一段时间的熟悉就可以实现许多基础功能。但是在编写的过程中,经常会遇到林林总总的bug,让人摸不到头脑。今天记录一个过去没有注意过的bug。

  在主对话框的一个函数中,我需要对一个List Control控件进行操作。理所当然的,我想要直接传递句柄,于是这样声明以及调用函数:

void void DisplaySubMax(int sub_id,CListCtrl m_cur_max);

DisplaySubMax(0,m_sub_max);

  理所当然的,报错……

  error C2248: \'CObject::CObject\' : cannot access private member declared in class \'CObject\'

  这是因为,句柄被定义为私有的,因此不能直接调用。应该这样获得当前对话框控件的句柄:

CListCtrl* m_cur_max;
m_cur_max = (CListCtrl*)GetDlgItem(IDC_SUB_MAX);

m_cur_max->DeleteAllItems();

  由于获得的是控件句柄的指针,因此用\'->\'来调用。

  而如果是在其他对话框对控件进行修改的话,目前我的方法是把修改的函数写在本对话框中,然后在其他对话框中实例化一个对象去调用这个函数。

  这个问题并不困难,但对初学者也是个新知识。

 

posted on 2014-07-30 11:03  libcan  阅读(160)  评论(0编辑  收藏  举报

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-02-28
  • 2022-01-26
  • 2021-08-14
  • 2021-07-27
  • 2021-07-03
  • 2021-11-17
  • 2022-01-20
猜你喜欢
  • 2021-11-29
  • 2021-07-21
  • 2022-01-03
  • 2021-11-04
  • 2021-12-31
  • 2021-06-25
  • 2022-12-23
相关资源
相似解决方案