关于MFC中ListCtr InsertItem的有关问题,等大侠们解决哇
关于MFC中ListCtr InsertItem的问题,急等大侠们解决哇
本人在CListDlg对话框中有一个ListControl(m_keylist),但需要在另一个类中获取列表项的数据,因此用了如下代码
int keylistcount = ((CListDlg* )(AfxGetApp()->m_pMainWnd))->m_keylist.InsertItem(0,"");
((CListDlg* )(AfxGetApp()->m_pMainWnd))->m_keylist.SetItemText(keylistcount,1,regwebsite);
((CListDlg* )(AfxGetApp()->m_pMainWnd))->m_keylist.SetItemText(keylistcount,2,regusername);
((CListDlg* )(AfxGetApp()->m_pMainWnd))->m_keylist.SetItemText(keylistcount,0,keynumber);
但是运行第一句的时候,debug到了
_AFXCMN_INLINE int CListCtrl::InsertItem(int nItem, LPCTSTR lpszItem)
{ ASSERT(::IsWindow(m_hWnd)); return InsertItem(LVIF_TEXT, nItem, lpszItem, 0, 0, 0, 0); }
求解啊,应该怎样才能解决呢……
------解决方案--------------------
应该是ListControl这个窗体还没有初始化成功吧。
都还没创建,你就添加数据,肯定不行的啦。
------解决方案--------------------
本人在CListDlg对话框中有一个ListControl(m_keylist),但需要在另一个类中获取列表项的数据,因此用了如下代码
int keylistcount = ((CListDlg* )(AfxGetApp()->m_pMainWnd))->m_keylist.InsertItem(0,"");
((CListDlg* )(AfxGetApp()->m_pMainWnd))->m_keylist.SetItemText(keylistcount,1,regwebsite);
((CListDlg* )(AfxGetApp()->m_pMainWnd))->m_keylist.SetItemText(keylistcount,2,regusername);
((CListDlg* )(AfxGetApp()->m_pMainWnd))->m_keylist.SetItemText(keylistcount,0,keynumber);
但是运行第一句的时候,debug到了
_AFXCMN_INLINE int CListCtrl::InsertItem(int nItem, LPCTSTR lpszItem)
{ ASSERT(::IsWindow(m_hWnd)); return InsertItem(LVIF_TEXT, nItem, lpszItem, 0, 0, 0, 0); }
求解啊,应该怎样才能解决呢……
------解决方案--------------------
应该是ListControl这个窗体还没有初始化成功吧。
都还没创建,你就添加数据,肯定不行的啦。
------解决方案--------------------