起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: cdz0451

【搞定】如何把左侧功能显示换成树型列表**

[复制链接]
 楼主| 发表于 2008-3-3 13:31:41 | 显示全部楼层
有没有人管了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-3 15:22:07 | 显示全部楼层
顶,不能沉!
回复 支持 反对

使用道具 举报

发表于 2008-3-3 15:30:48 | 显示全部楼层
这个两个版本间代码变动很大,做起来恨是困难哪。我们也一直努力去找,楼主耐心等等。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-3 15:36:03 | 显示全部楼层
好的,这么久你也没反映。我不确定你在不在。我的版本是2800
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-4 08:08:19 | 显示全部楼层
怎么样了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-4 09:24:18 | 显示全部楼层
怎么样了,到什么程度了?
回复 支持 反对

使用道具 举报

发表于 2008-3-4 09:50:01 | 显示全部楼层
用3002版本,按22楼的改。效果。

snap1.png

42.3 KB, 下载次数: 114

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-4 10:20:48 | 显示全部楼层
嗯,但是我的是2800 这个怎么改?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-4 10:59:50 | 显示全部楼层
2800怎么实现这个效果,人呢? 谁来帮看看。好几天了都
回复 支持 反对

使用道具 举报

发表于 2008-3-4 15:01:01 | 显示全部楼层
2827修改方法
function TOperatorFuncNavBar.CreateTreeView(AGroup: TdxNavBarGroup;
  const AFromGUID: string): TBaseTreeView;
begin                                          //lxy
  Result := inherited CreateTreeView(AGroup, '-1'); //AFromGUID
  Result.Color := $f7dfd6;
end;




procedure TBaseNavBar.Reload;
var
  I: Integer;
  lNodes: TStringList;
begin
  Groups.Clear;
  FGroups.Clear;
  FTreeViews.Clear;

  if FBaseTree <> nil then
  begin
    EnsureRoot;
    lNodes := TStringList.Create;
    try
      BaseTree.GetChildrenBySeq(cRootGUID, lNodes);
     // for I := 0 to lNodes.Count - 1 do      //lxy
        if CanAddGroup(lNodes.Objects[I] as TBaseNode) then
          DoAddGroup(lNodes.Objects[I] as TBaseNode);
    finally
      lNodes.Free;
    end;
  end;
end;


function TBaseNavBar.CreateTreeView(AGroup: TdxNavBarGroup;
  const AFromGUID: string): TBaseTreeView;
var
  lBaseTreeView: TBaseTreeView;
  lNode: TTreeNode;
begin
  lBaseTreeView := DoCreateTreeView(AGroup.Control);
  lBaseTreeView.Parent := AGroup.Control;
  lBaseTreeView.BorderStyle := TFormBorderStyle.bsNone;
  lBaseTreeView.BevelEdges := [TBevelEdge.beLeft];
  lBaseTreeView.BevelOuter := TBevelCut.bvSpace;
  lBaseTreeView.BevelInner := TBevelCut.bvSpace;
  lBaseTreeView.BevelKind := TBevelKind.bkFlat;
  lBaseTreeView.BevelWidth := 4;
  lBaseTreeView.ShowButtons := true; //lxy
  lBaseTreeView.ShowLines := true;   //lxy
  lBaseTreeView.Align := TAlign.alClient;
  lBaseTreeView.Images := LargeImages;
  lBaseTreeView.BaseTree := BaseTree;
  lBaseTreeView.Show;
  lBaseTreeView.HandleNeeded;
  CommCtrl.TreeView_SetItemHeight(lBaseTreeView.Handle, 28);
  lBaseTreeView.BaseTree.GetChildren(AFromGUID, lBaseTreeView.StartWithNodes, False);
  if lBaseTreeView.StartWithNodes.Count > 0 then
    lBaseTreeView.ReloadTree;

  // 解决系统缺省把第一个节点打开了
  lNode := lBaseTreeView.Items.GetFirstNode;
  if lNode <> nil then
  begin
    lNode.Collapse(False);
    lBaseTreeView.Selected := nil;
  end;

  Result := lBaseTreeView;
end;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 02:19 , Processed in 0.041237 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表