已知TreeView的句柄,该如何给这个TreeView选中的项再添加个Item
选中已经实现TreeViewHandle为TreeView的句柄选中项目获取已经实现
var
TreeNodes:TTreeNodes;
TreeNode:TTreeNode;
hitem : HTREEITEM;
begin
   hitem:=TreeView_GetSelection(TreeViewHandle);
   TreeNodes:=TTreeNodes.Create(TCustomTreeView.CreateParented(TreeViewHandle));
   TreeNode:=TreeNodes.GetNode(hitem);
end;现在我想在选中的项下再建立项该如何写
查到有个API是TreeView_InsertItem实在搞不来,请各位帮忙

解决方案 »

  1.   

    在CommCtrl单元里就封装了TreeView_InsertItem这个API:function TreeView_InsertItem(hwnd: HWND; const lpis: TTVInsertStruct): HTreeItem;
      

  2.   

    关键就TTVInsertStruct该怎么设置,还请指教
      

  3.   

    学习查找MSDN帮助,这个才是永久的解决方法
      

  4.   

    function TreeView_InsertItem(hwnd: HWND; const lpis: TTVInsertStruct): HTreeItem;
    begin
      Result := HTreeItem( SendMessage(hwnd, TVM_INSERTITEM, 0, Longint(@lpis)) );
    end;按着ctrl点两下很难吗?
      

  5.   

    原来我说风凉话了,不好意思use CommCtrl;
    var
      hitem : HTREEITEM;
      InsertStruct: TTVInsertStruct;
    begin
      hitem:=TreeView_GetSelection(TreeView1.Handle);
      if hitem = nil then Exit;
      with InsertStruct do
      begin
        hParent := hitem;
        hInsertAfter := TVI_LAST;
        with item do
        begin
          mask := TVIF_TEXT or TVIF_PARAM or TVIF_IMAGE or TVIF_SELECTEDIMAGE;
          pszText := 'child';
          lParam := 0;
          iImage := I_IMAGECALLBACK;
          iSelectedImage := I_IMAGECALLBACK;
        end;
      end;
      TreeView_InsertItem(TreeView1.Handle, InsertStruct);
      TreeView1.Repaint;
    end;