首    页 界面/窗口 网络/通讯 数据库 组件开发 图像/多媒体 NET/Web 其它技术 源码下载 资料下载 软件共享 软件外包 曲艺杂谈
栏目导航:  首    页  |  界面/窗口  |  树型控件   


在TreeCtrl中使用Edit功能


原作者:lxas    源出处:CSDN    发布者:施昌权    发布类型:转载    发布日期:2008-10-13

              

       以前在论坛中常常有人问起怎样保存TreeCtrl中EditLables编辑过的内容,虽然CodeGuru有相关的文章,但是老是有人说不能用。

       首先了讲该TreeList应该使用TVS_EDITLABELS风格,可以在创建资源时指定,或者在使用Create时指定,或者在PreCreateWindos()中改变。
        我的代码是:
       const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS | TVS_EDITLABELS
       if (!m_wndTree1.Create (dwViewStyle, rectDummy, &m_wndTabs, 2) || !m_wndTree2.Create (dwViewStyle, rectDummy, &m_wndTabs, 3))
       {
              TRACE0("Failed to create workspace view\n");
              return -1;      // fail to create
       }

       红色的部分是关键!这样你就可以通过当即Treeitem来编辑其标题了!

       接下来需要处理TVN_BEGINLABELEDIT和TVN_ENDLABELEDIT消息。 
       void CMyTree::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;
       }
        注:上面这段代码来自闻逸洋《在TreeList中使用Edit功能》
       这里,你可以新建一个类,CMyTree,然后再通过ClassWizard为其添加TVN_BEGINLABELEDIT和TVN_ENDLABELEDIT消息ClassWizard为我们做出来的代码为:
protected:
       //{{AFX_MSG(CMyTree)
       afx_msg void OnBeginlabeledit(NMHDR* pNMHDR, LRESULT* pResult);
       afx_msg void OnEndlabeledit(NMHDR* pNMHDR, LRESULT* pResult);
       //}}AFX_MSG
        好了,编译通过以后你就可以通过当即Treeitem来编辑并保存其标题了!呵呵,小弟
       第一次发帖子,还望大家多包涵。


关于我们 版权声明 广告服务 联系我们 友情链接 加入收藏
站长:施昌权    Email:scq2099yt@163.com    MSN:scq2099yt@live.cn    QQ:14046300    本站QQ群:67202409
Copyright © 2008     卓为VC(www.joyvc.cn)    All Rights Reserved    建议分辨率 1024×768
本站由施昌权制作维护
京ICP备09012297号