为什么GetListCtrl()得到的对象为空

时间:2022-11-15 22:03:09
我在CListView的派生类自己定义的一个函数中调用GetListCtrl()
用了好几种方法
CListCtrl &listCtrl=GetListCtrl();
CListCtrl &listCtrl=(CListCtrl&)GetListCtrl();
CListCtrl &listCtrl=CListView::GetListCtrl();
CListCtrl &listCtrl=this->GetListCtrl();
都不行
什么原因?怎么才能调用成功?多谢了!

7 个解决方案

#1


在OnInitialUpdate() 函数中:

CListView::OnInitialUpdate();
这句之后可以么?

#2


Where did you call the function? The reference of the object is null if it is not created. usaully, it is used as following:

void CMyListView::OnInitialUpdate()
{
   CListView::OnInitialUpdate();

   // this code only works for a report-mode list view
   ASSERT(GetStyle() & LVS_REPORT);

   // Gain a reference to the list control itself
   CListCtrl& theCtrl = GetListCtrl();
   ......
}

CSDN
======================
- 微软全球技术中心 zhisun

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
======================

#3


这样可以
可我在其他地方还要用呀

#4


我的CListShow2派生from Clistview,我在其他地方是如此用的,你可以参考
一下:
CTongxinApp* pApp=(CTongxinApp*)AfxGetApp();
CTongxinDlg* pDlg=(CTongxinDlg*)pApp->m_pMainWnd;
CListCtrl &list=((CListShow2 *)pDlg->m_wndSplitter1.GetPane(0,0))->GetListCtrl();

//那边我是分割窗口,所以如此用GetListCtrl!

#5


不行

#6


没有人知道吗?
还是分太少?

#7


没有人知道吗?
还是分太少?

#1


在OnInitialUpdate() 函数中:

CListView::OnInitialUpdate();
这句之后可以么?

#2


Where did you call the function? The reference of the object is null if it is not created. usaully, it is used as following:

void CMyListView::OnInitialUpdate()
{
   CListView::OnInitialUpdate();

   // this code only works for a report-mode list view
   ASSERT(GetStyle() & LVS_REPORT);

   // Gain a reference to the list control itself
   CListCtrl& theCtrl = GetListCtrl();
   ......
}

CSDN
======================
- 微软全球技术中心 zhisun

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
======================

#3


这样可以
可我在其他地方还要用呀

#4


我的CListShow2派生from Clistview,我在其他地方是如此用的,你可以参考
一下:
CTongxinApp* pApp=(CTongxinApp*)AfxGetApp();
CTongxinDlg* pDlg=(CTongxinDlg*)pApp->m_pMainWnd;
CListCtrl &list=((CListShow2 *)pDlg->m_wndSplitter1.GetPane(0,0))->GetListCtrl();

//那边我是分割窗口,所以如此用GetListCtrl!

#5


不行

#6


没有人知道吗?
还是分太少?

#7


没有人知道吗?
还是分太少?