如何 设置 Ctreectrl 和Clistctrl某个item被选种?

解决方案 »

  1.   

    CListCtrl:
    SetItemState(nIndex,LVIS_SELECTED,LVIS_SELECTED);CTreeCtrl:
    SelectItem()
      

  2.   

    这样比较保险:// 取得该点当前状态
    UINT nState = cList.GetItemState(nIndex, -1);
    // 设置选中状态并取得焦点
    cList.SetItemState(nIndex, nState | LVIS_SELECTED | LVIS_FOCUSED , -1);我这样用过了,没问题的。当然你要先自己验证 nIndex 的合法性,才不会出错:
    UINT nCount = cList.GetItemCount();
    if(nCount == 0)  // 列表框中没有元素的话..........
        {.........}
    else if (nIndex > nCount-1) // 索引大于元素数目的话.........
        {.........}
      

  3.   

    CTreeCtrl 没怎么用过,应该差不多吧。
      

  4.   

    对于ctreectrl有SelectItem( HTREEITEM hItem );
    函数可用
      

  5.   

    好象没鼠标click的那种反色效果么。