注册 登录
编程论坛 VC++/MFC

吊死在这棵树上了.. 希望能详解

yulinxx 发布于 2011-06-10 07:55, 740 次点击
程序代码:
void CDlgLoadData::initTree(void)
{
    if(!connectDatabase())
        return;

    TV_INSERTSTRUCT tvInsert;            
    HTREEITEM            hParent, hItem;      
    tvInsert.item.mask=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
    tvInsert.hInsertAfter=TVI_LAST;
    tvInsert.hParent=TVI_ROOT;
    tvInsert.item.pszText="数据库";
    tvInsert.item.cchTextMax=strlen("数据库");
    tvInsert.item.iImage=0;                                               //.
    tvInsert.item.iSelectedImage=0;

    hParent=m_tree.InsertItem(&tvInsert);     

    _variant_t   vtVal;
    CString     sVal;
    _RecordsetPtr rs;
    rs.CreateInstance(__uuidof(Recordset));
    try
    {                                                                                    
        sVal=CString("select * from ")+CString("layer");   
        rs->Open(sVal.GetBuffer(0),            //.数据库进行打开操作 x
            g_connGIS.GetInterfacePtr(),        
            adOpenDynamic,
            adLockOptimistic,
            adCmdText);
        sVal.ReleaseBuffer();        

        tvInsert.hParent=hParent;
        tvInsert.item.iImage=1;
        tvInsert.item.iSelectedImage=1;
2 回复
#2
yulinxx2011-06-10 07:56
程序代码:
    TV_INSERTSTRUCT tvInsert;            
    HTREEITEM            hParent, hItem;     
    tvInsert.item.mask=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
    tvInsert.hInsertAfter=TVI_LAST;
    tvInsert.hParent=TVI_ROOT;
    tvInsert.item.pszText="数据库";
    tvInsert.item.cchTextMax=strlen("数据库");
    tvInsert.item.iImage=0;                                       
    tvInsert.item.iSelectedImage=0;


主要是这一部分  几句都不好理解.. 请详解?  谢谢
#3
hahayezhe2011-06-10 22:27
  这是添加树节点吧,CTreeCtrl

  HTREEITEM            hParent, hItem;     
    tvInsert.item.mask=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE; 属性设置 相关的宏意思可查看MSDN 文本 图片
    tvInsert.hInsertAfter=TVI_LAST; 添加位置 LAST 一般在同等级的节点位置后
    tvInsert.hParent=TVI_ROOT;  添加节点的级数 也可以称为度,ROOT是根 为最顶级的
    tvInsert.item.pszText="数据库"; 添加节点的文本
    tvInsert.item.cchTextMax=strlen("数据库"); 长度(其实一般不需要这句)
    tvInsert.item.iImage=0;  载入的图片                                    
    tvInsert.item.iSelectedImage=0; 没有图片的画其实这几句都不需要 一般图片都是Icon


1