金山树形控件创建

本文介绍了如何在C++项目中使用树形控件实现多种选择状态,包括全选、半选和全非选等,并提供了详细的代码示例及资源文件配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

成员变量:KUIMulStatusTree m_ctlTree;

头文件: KuiRealTreeCtrl.h  CDSN代码中



1:在main.xml中设置:

  <tab title="test" width="full" height="full" class="tabpageblue">
       <dlg pos="0,0,-0,-0" crbg="FBEEFD" class="panel" >
      <realwnd id="101" ctrlid="101" pos="10,10,-10,-5" />    //控件ID为101
      </dlg> 
  </tab>


2:在初始化对话框中:

 

//Tree树形控件 

 if( !m_ctlTree.Create( GetViewHWND(), 101 ) )
    {  
                        ::MessageBox(0,_T("无法创建树形控件"),_T("提示"),MB_OK | MB_ICONERROR);
                }
 else 
     {  
                        HTREEITEM hItem = m_ctlTree.InsertItem( _T("全选集"),                              NULL,NULL,KUIMulStatusTree::EM_TVIS_CHECK ); 
 m_ctlTree.InsertItem( _T("下属项目1"), hItem, NULL, KUIMulStatusTree::EM_TVIS_CHECK );  
                        m_ctlTree.InsertItem( _T("下属项目2"), hItem, NULL, KUIMulStatusTree::EM_TVIS_CHECK );  
                        m_ctlTree.InsertItem( _T("下属项目3"), hItem, NULL, KUIMulStatusTree::EM_TVIS_CHECK );  
                        m_ctlTree.InsertItem( _T("下属项目4"), hItem, NULL, KUIMulStatusTree::EM_TVIS_CHECK );  
                        m_ctlTree.InsertItem( _T("下属项目5"), hItem, NULL, KUIMulStatusTree::EM_TVIS_CHECK );  

                        hItem = m_ctlTree.InsertItem( _T("半选集"), NULL, NULL, KUIMulStatusTree::EM_TVIS_UNCHECK );  
                        m_ctlTree.InsertItem( _T("下属项目1"), hItem, NULL, KUIMulStatusTree::EM_TVIS_CHECK );  
                        m_ctlTree.InsertItem( _T("下属项目2"), hItem, NULL, KUIMulStatusTree::EM_TVIS_UNCHECK );  
                        m_ctlTree.InsertItem( _T("下属项目3"), hItem, NULL, KUIMulStatusTree::EM_TVIS_CHECK );  
                        m_ctlTree.InsertItem( _T("下属项目4"), hItem, NULL, KUIMulStatusTree::EM_TVIS_UNCHECK );  
                        m_ctlTree.InsertItem( _T("下属项目5"), hItem, NULL, KUIMulStatusTree::EM_TVIS_UNCHECK );  

                        hItem = m_ctlTree.InsertItem( _T("全非选集"), NULL, NULL, KUIMulStatusTree::EM_TVIS_UNCHECK );  
                        m_ctlTree.InsertItem( _T("下属项目1"), hItem, NULL, KUIMulStatusTree::EM_TVIS_UNCHECK );  
                        m_ctlTree.InsertItem( _T("下属项目2"), hItem, NULL, KUIMulStatusTree::EM_TVIS_UNCHECK );  
                        m_ctlTree.InsertItem( _T("下属项目3"), hItem, NULL, KUIMulStatusTree::EM_TVIS_UNCHECK );  
                        m_ctlTree.InsertItem( _T("下属项目4"), hItem, NULL, KUIMulStatusTree::EM_TVIS_UNCHECK );  
                        m_ctlTree.InsertItem( _T("下属项目5"), hItem, NULL, KUIMulStatusTree::EM_TVIS_UNCHECK );  
                }  

注:

代码同时演示了项目的插入方法,最后的参数EM_TVIS_CHECK指示了使用选择框,一共可以有四种选择状态,分别如下:

EM_TVIS_NONE 没有选择框

EM_TVIS_UNCHECK 非选中

EM_TVIS_INDETERMINING 半选中,一般为父项目使用

EM_TVIS_CHECK  选中

对于树控件的具体使用方法可以参考MSDN.因为它就是一个实际的窗口控件,而非DirectUI控件

 

3:在bkwinres.rc2中:

               

 

DEFINE_BMP(IDB_BITMAP_TREECTRL_CHECK,                                  116,                 "res\\Treectrl_check.bmp")

效果为:


金山树形控件创建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值