|
楼主 |
发表于 2004-6-2 10:29:47
|
显示全部楼层
继续回复:
问题1:
不好意思,有行代码笔误:
if lBizNode.ObjectKind = TBizObjectKind.boFunc then
应该写成:
if lBizNode.NodeKind = TBizObjectKind.boFunc then
修正后的过程如下:
procedure TMainForm.BizTreeView1Inserting(Sender: TObject; ANode: TBaseNode;
var Allow: Boolean);
var
lBizNode: TBizNode;
lFuncItem: TOperatorFuncItem;
begin
lBizNode := ANode as TBizNode;
if lBizNode.NodeKind = TBizObjectKind.boFunc then
begin
lFuncItem := TCommonComponentLibrary.UserSystem.FindFuncItem(lBizNode.BizURL.URL);
Allow := Assigned(lFuncItem);
end;
end;
问题2:
设置一下UserTreeView的ShowOptions属性就行了,参考代码如下:
UserTreeView.ShowOptions := [TUserNodeKind.unFuncLibrary, TUserNodeKind.unFolder,
TUserNodeKind.unFunc];
TUserNodeKind 是一个枚举类型,每一个枚举值代表了在TUserTreeView 中能够看到的一种类型,原型定义在公共组件库中,原型定义和各个枚举值的含义如下:
TUserNodeKind = (unNone,
unDesktop, //我的工作台
unMyFuncs, //我的功能
unFavorites, //收藏夹
unStartup, //启动
unUserFolder, //用户自己创建的文件夹
unShortcut, //用户创建的快捷方式
unUserFile, //用户创建的文件
unFuncLibrary, //业务功能库
unFolder, //业务功能库下的文件夹
unFunc //业务功能
);
TUserTreeView的Create方法中默认将ShowOptions设置为一个常量cDefaultShowOptions,默认是不显示业务功能库这一枝的 。这部分的源代码都在“公共组件库”中,有时间看看吧,对你们的工作会比较有用的。cDefaultShowOptions常量的值如下:
cDefaultShowOptions = [TUserNodeKind.unDesktop, TUserNodeKind.unFavorites,
TUserNodeKind.unMyFuncs, TUserNodeKind.unStartup, TUserNodeKind.unUserFolder,
TUserNodeKind.unShortcut, TUserNodeKind.unUserFile];
我再上传一个修正后的例子包。 |
|