起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 349|回复: 19

怎么样让主界面目录树响应单击事件呢?**

[复制链接]
发表于 2008-5-9 17:37:32 | 显示全部楼层 |阅读模式
主要就是FFuncNavBar 对象,但他又继承自TOperatorFuncNavBar,看了一下代码不知怎么弄? 比如就点如图所示的“协同系统”,让它响应单击事件呢?  
请各位大哥指点一下!

qq截图未命名.jpg

16.2 KB, 下载次数: 183

回复

使用道具 举报

发表于 2008-5-9 18:18:42 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-12 10:20:01 | 显示全部楼层
我用了这个了不能响应单击事件.
FFuncNavBar.OnLinkClick := OnXItemClick;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-16 09:58:35 | 显示全部楼层
还有一个问题,我用系统提供类库,取不出来功能.
TCommonComponentLibrary.UserSystem.CurrentPosition.Operator.FuncItems
回复 支持 反对

使用道具 举报

发表于 2008-5-16 15:12:11 | 显示全部楼层
楼上的问题:
1.引用: 业务模型\系统空间\系统运行库\系统核心库
2.使用  SystemCore.TSystemCore.Operator.FuncItems;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-19 10:33:58 | 显示全部楼层
我加了核心库的啊, 编译报的这个错误.  
[错误]Biz:\SCGATJM\UILIBRARYFOLDER\FORMLIBRARY.LIBRARY.DIR\STANDARDSTYLEMAINFORM.FORM.PAS(2565, 35): 不能调用
回复 支持 反对

使用道具 举报

发表于 2008-5-19 10:54:15 | 显示全部楼层
加核心库之前报6楼的错误吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-19 12:56:48 | 显示全部楼层
就是
回复 支持 反对

使用道具 举报

发表于 2008-5-19 13:20:41 | 显示全部楼层
请楼主把错误代码贴出来看看。注明是哪句报的错。
回复 支持 反对

使用道具 举报

发表于 2008-5-19 19:42:03 | 显示全部楼层
楼主,邮件已经收到。
电话无法接通。

1楼问题,请参考:
系统空间\用户界面基础\界面库\组件库
procedure TOperatorFuncTreeView.Click;
var
  lNode: TTreeNode;
  lPoint: TPoint;
  lHitTests: THitTests;
begin
  inherited Click;
  if HotTrack then
  begin
    lPoint := Types.Point(0, 0); // 干掉警告
    JsCommon.OSCheck(Borland.Delphi.Windows.GetCursorPos(lPoint));
    lPoint := ScreenToClient(lPoint);
    lHitTests := GetHitTestInfoAt(lPoint.X, lPoint.Y);
    if not (THitTest.htOnItem in lHitTests) then
      Exit;
    lNode := GetNodeAt(lPoint.X, lPoint.Y);
    if Assigned(lNode) and (lNode = Selected) then
    begin
//jhm 功能树,文件夹,单击响应
      if (SelectedNode.NodeKind in [TBizObjectKind.boFolder, TBizObjectKind.boSpace]) then
        Business.Forms.jsDialogs.ShowMsg(SelectedNode.DisplayName, 'Folder');
      if (SelectedNode.NodeKind = TBizObjectKind.boFunc) then
      begin
       TSystemCore.BeginWaiting;
       try
          TSystemCore.FuncManager.RunFunc(FContext, '',
            SelectedNode.BizURL.URL, '', False, nil, False)
       finally
         TSystemCore.EndWaiting;
       end;
      end
      else
        // 只展开
        lNode.Expanded := True;
    end;
  end;
end;

4楼问题,应该是楼主使用有误,请提供出错的代码:
请参考:
Caption := SysUtils.IntToStr(SystemCore.TSystemCore.Operator.FuncItems.Count);
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 16:20 , Processed in 0.043031 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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