怎样持久引用CListBox

starfeng 2003-09-14 05:46:21
我在一个方法中用
m_pListBox = (CListBox*)GetDlgItem(IDC_LIST1);
保存了对IDC_LIST1的引用.

我在其它的方法中,引用这个变量时,却发现m_pListBox中的值已经变成了0xfeee...,一旦引用m_pListBox->...就出错.

我看了
http://expert.csdn.net/Expert/topic/1533/1533271.xml?temp=.4507715中提到了一些东西,跟我的有些类似,但我怎么保存这个m_pListBox对IDC_LIST1的引用啊?

help!

...全文
26 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bcpl 2003-09-16
  • 打赏
  • 举报
回复
CListBox m_ListBox;
m_ListBox.SubclassDlgItem(IDC_LIST1, this);
flinming 2003-09-16
  • 打赏
  • 举报
回复
直接从类里定义一个变量,很方便。。。
cameozhang 2003-09-16
  • 打赏
  • 举报
回复
你的m_pListBox是用ClassWizard生成的吗?
如果是,应该不会需要m_pListBox = (CListBox*)GetDlgItem(IDC_LIST1);这样的语句

如果是你自己加的,而且你是在init(初始化)中再赋值,那么当其他类引用时,当然会出错
正确的方法就是用classwizard
starfeng 2003-09-14
  • 打赏
  • 举报
回复
我的m_pListBox是一个公有的成员变量,我将它放在一个单独的类里面,在一个名为init的方法中,给它赋值.

在我的另一个类中,去访问这个公有变量时,出错.引用时可以看到,m_pListBox的值是没有变的,但它的hWnd发生了变化,所以出错了,但我不知道它里面的hWnd为什么变了.
vcforever 2003-09-14
  • 打赏
  • 举报
回复
你可以在类的声名中定义一个变量吗!
这样在整个类的生命期里,对于类的成员函数他都是可见的!

祝你成功!
akiko 2003-09-14
  • 打赏
  • 举报
回复
你直接View--ClassWizard--Member Variables给你的IDC_LIST1加一个变量

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧