切分窗口与CTreeView配合使用的非法操作问题,求教做了一个三切分视,错误现象:
(1)CTreeView为TVS_EDITLABELS风格,在Tree Item上点击,当其编辑框出现后,在编辑框中点鼠标出现非法操作 
(2)自己用View封装了一个CTreeCtrl,无论怎么点鼠标,编辑框根本不出现,无法编辑!!!要求必须在视类中创建切分窗口。!!!
在CMainFrame::OnCreateClient函数中作上述工作是正常的。只要解决,分可以再加给我你的邮箱,我把代码发给你。

解决方案 »

  1.   

    需要处理TVN_BEGINLABELEDIT和TVN_ENDLABELEDIT消息。
    void CXXXX::OnBeginLabelEdit(NMHDR* pNMHDR, LRESULT* pResult)
    {
            TV_DISPINFO* pTVDispInfo = (TV_DISPINFO*)pNMHDR;
            // Limit text length
            GetEditControl()->LimitText(127);
            *pResult = 0;
    }
    如果不处理 TVN_ENDLABELEDIT 消息,则文本的更改不会生效。
     void COutline::OnEndLabelEdit(NMHDR* pNMHDR, LRESULT* pResult)
    {
            GetEditControl()->GetWindowText(s);
            // Set result to TRUE to accept the changes
            *pResult = TRUE;
    }
      

  2.   

    to ysdesigned(清泉) :
     要么看看代码?不是更改是否生效的问题,而是根本就没办法改
      

  3.   

    再做一次挣扎:可以按照如下步骤产生问题:
    1。 VC6生成SDI的程序,如工程为Test
    2。CTestView::OnCreate函数改为下面的形式:int CTestView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
    {
       if (CView::OnCreate(lpCreateStruct) == -1)
    return -1;   // Create the splitter wnd.
       m_wndSplitter.CreateStatic(this, 1, 2);   CCreateContext *p = (CCreateContext*)lpCreateStruct->lpCreateParams;
       m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CTreeView), CSize(150, 0), p));
       m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CTreeView), CSize(0, 0), p));   DWORD dwTreeStyle =  WS_VISIBLE | TVS_EDITLABELS;
       dwTreeStyle |=  TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT;
       CTreeView* pView = (CTreeView*)m_wndSplitter.GetPane(0, 0);
       pView->ModifyStyle(0, dwTreeStyle);

       for(int i = 0; i < 10; i++)
       {
    CString str;
    str.Format("%d", i);
    pView->GetTreeCtrl().InsertItem(str);
       }
       return 0;
    }3、CTestView中增加OnSize函数如下:void CTestView::OnSize(UINT nType, int cx, int cy) 
    {
       CView::OnSize(nType, cx, cy);

       if(m_wndSplitter.GetSafeHwnd())
       {
          m_wndSplitter.MoveWindow(0,0,cx,cy);* 2) - 4);
       }
    }4. 现象:
    在上面那个View的Tree Item上点击,当其编辑框出现后,在编辑框中再次点鼠标出现非法操作 
      

  4.   

    TO:  ukyoking(累)晕,你上面的帖子就是源代码