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; |