uses CommCtrl;function TreeNodeGetNext( // 获得下一个节点
  mHandle: THandle;
  mTreeItem: HTreeItem
): HTreeItem;
var
  vParentID: HTreeItem;
begin
  Result := nil;
  if (mHandle <> 0) and (mTreeItem <> nil) then
  begin
    Result := TreeView_GetChild(mHandle, mTreeItem);
    if Result = nil then
      Result := TreeView_GetNextSibling(mHandle, mTreeItem);
    vParentID := mTreeItem;
    while (Result = nil) and (vParentID <> nil) do
    begin
      vParentID := TreeView_GetParent(mHandle, vParentID);
      Result := TreeView_GetNextSibling(mHandle, vParentID);
    end;
  end;
end;  { TreeNodeGetNext }哪位可以帮我讲一下这段代码,谢谢?

解决方案 »

  1.   

    HTreeItem 是windows的一个句柄 对应C中的类型为HTREEITEM
    至于代码功能,函数名字已经表示的很清楚了.
      

  2.   

    一个指针
    if   (mHandle   <>   0)   and   (mTreeItem   <>   nil)   then //是否有效
        begin 
            Result   :=   TreeView_GetChild(mHandle,   mTreeItem); //获得mTreeItem的子节点
            if   Result   =   nil   then  //没有子节点
                Result:=TreeView_GetNextSibling(mHandle,mTreeItem); //获得mTreeItem的下一个兄弟节点
            vParentID   :=   mTreeItem; 
            while   (Result   =   nil)  and  (vParentID   <>   nil)do //已经是同一级最后面的节点了
            begin 
                vParentID   :=   TreeView_GetParent(mHandle,   vParentID);//开始找父节点 
                Result   := TreeView_GetNextSibling(mHandle,   vParentID); //父节点的下一个兄弟节点
            end; 
        end; 
    end;     {   TreeNodeGetNext   } 这个就是TreeView.Next啊
      

  3.   

    TreeView_GetChild它是一个函数,如是,是什么函数,功能是什么?