一个快让我疯掉的问题:为什么在ControlBar中动态建立的TreeCtrl控件不是窗口???
我在ControlBar中动态建立了一个自定义的TreeCtrl控件,代码如下:
m_wndSettingTree.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS,CRect(0, 0, 0, 0), &m_wndSettingBar, 100);
然后插入数据:
HTREEITEM hPA =m_wndSettingTree.InsertItem(TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_TEXT,logo,i,i,0,0,0,NULL,TVI_SORT);
m_wndSettingTree.InsertItem(TVIF_HANDLE | TVIF_TEXT,_T("UpStream"),-1,-1,0,0,0,hPA, NULL);
我在void CSettingTreeCtrl::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)下写了如下代码:
TV_DISPINFO *pTVDI = (TV_DISPINFO *)pNMHDR;
String s=this->GetItemText(pTVDI->item.hItem);
可是在调试中程序出错,我跟踪了一下,是ASSERT(::IsWindow(m_hWnd));的错误,这是不是说TreeCtrl不是窗口呢?我该如何才能调试通过??