树型控件初试化问题

friday505   2007-9-13 15:32 楼主
有高手在吗?菜鸟提个问题,为什么树型控件初始化时 这个函数InitTree()可以调用很多次,但这个函数InitEnquryTree(TCHAR *lptext)只可以调用一次 ,或者一次 都不行?
Binglibianji::InitTree()
{
    CTreeCtrl *  pCtrl=(CTreeCtrl*) GetDlgItem(IDC_TREE);
    ASSERT(pCtrl!=NULL);
   
    TVINSERTSTRUCT tvinsert;
    tvinsert.hParent=NULL;
    tvinsert.hInsertAfter=NULL;

    tvinsert.item.mask= TVIF_TEXT|TVIF_CHILDREN;
    tvinsert.item.pszText=_T("姓名");
    tvinsert.item.cChildren=1;
    HTREEITEM hCountry=pCtrl->InsertItem(&tvinsert);
    HTREEITEM hSecItem;
    pCtrl->InsertItem(TVIF_TEXT,        _T("首页"),0, 0, 0, 0, 0,hCountry,NULL);
}

Binglibianji::InitEnquryTree(TCHAR *lptext)
{
    CTreeCtrl *  pCtrl=(CTreeCtrl*) GetDlgItem(IDC_TREE);
    ASSERT(pCtrl!=NULL);

   TVINSERTSTRUCT tvinsert;
   tvinsert=new TVINSERTSTRUCT;
   memset(tvinsert,0,sizeof(TVINSERTSTRUCT));
   tvinsert.hParent=NULL;
   tvinsert.hInsertAfter=NULL;
   
   tvinsert.item.mask= TVIF_TEXT|TVIF_CHILDREN;
   tvinsert.item.pszText=_T("姓名    ");
   wcscpy(tvinsert.item.pszText,lptext);
   tvinsert.item.cChildren=1;
   HTREEITEM hCountry=pCtrl->InsertItem(&tvinsert);//有时这个地方报错
   ASSERT(hCountry != NULL);
   
  
   m_tree.InsertItem(TVIF_TEXT,        _T("首页"),0, 0, 0, 0, 0,hCountry,NULL);//有时这个地方报错

回复评论 (4)

报什么错?把错误信息贴出来。
点赞  2007-9-13 17:20
HTREEITEM hCountry=pCtrl->InsertItem(&tvinsert);//有时这个地方报错
这里报这个错误:First-chance exception in gues.exe
(0x80000002:Datatype Misalignment)
点赞  2007-9-13 19:47
First-chang exception in corell.dll
(0xC0000005:Access Violation)
是PB报错
InitTree()这个函数也只能调用一次了
点赞  2007-9-13 20:18
First-chance exception in gues.exe
是这个错误First-chance exception in gwes.exe
wcscpy(tvinsert.item.pszText,lptext);这个复制操作是成功的
点赞  2007-9-13 21:55
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复