常用树形控件样式

TVS_HASLINES 表示树控制在各子项之间存在连线;

TVS_LINESATROOT 表示树控制在根项之间存在连线;

TVS_HASBUTTONS 表示树控制视在父项左侧存在展开合拢控制按钮;

TVS_EDITLABELS 表示可以控制鼠标单击修改树项的名称;

TVS_SHOWSELALWAYS 表示选中项即使在窗口失去输入焦点时仍然保持选中状态;

TVS_DISABLEDRAGDROP表示禁止树控制发送TVN_BEGINDRAG消息


可以在CTreeView的PreCreateWindow中设置。也可以Create的时候设置

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

树形控件的展开/折叠

    if(98 == m_treectrl.GetItemState(hItem, TVIS_EXPANDED))
    {// 如果节点已经展开
        DelSonKey(hItem);
        m_treectrl.Expand(hItem, TVE_COLLAPSE);
        //m_treectrl.SetItemState(hItem, )
        m_treectrl.SetItemState(hItem, TVIS_EXPANDED, TVIS_SELECTED);
    }
    else
    {// 如果节点没有展开
        if(m_socket != 0 && m_socket != INVALID_SOCKET){
            CString theStr="";
            Enum(hItem, theStr);
            theStr;// = theStr+m_treectrl.GetItemText(hItem);
            
            CMyPacket thePacket("REGEDIT");
            thePacket.SendData(m_socket);
            thePacket.SetSendData(theStr);
            thePacket.SendData(m_socket);
            // thePacket.RecvData(m_socket);
        }
    }

你可能感兴趣的:(个人心得)