起步软件技术论坛-X3

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

【结贴】我在主窗体右边添加了两个像“业务关联”的菜单问题**

[复制链接]
 楼主| 发表于 2009-5-8 09:44:29 | 显示全部楼层
67楼中说可以用原来的代码
--------------------
UIRunFunc中,在原来的基础上加了
lParam :=SystemUtils.TContextUtils.GetParam(self.Context,'Biz:SQWSFWGLXT_X_DICTJKGLCSZ.ParamGroup','JDYCXCS');
   if Variants.VarToStr(lParam.Value)<>'' then
   begin
     if SysUtils.UpperCase(AFuncURL)=SysUtils.UpperCase(Variants.VarToStr(lParam.Value)) then
     begin
       HideDocRelevancyNavBar;
     end else
     begin
       ShowRelevancyNavBar;
     end;
   end;
-------------------------------------
ShowContainer中,在原来的基础上加了
lParam :=SystemUtils.TContextUtils.GetParam(self.Context,'Biz:SQWSFWGLXT_X_DICTJKGLCSZ.ParamGroup','JDYCXCS');
   if Variants.VarToStr(lParam.Value)<>'' then
   begin
     if SysUtils.UpperCase(AContainer.FuncURL)=SysUtils.UpperCase(Variants.VarToStr(lParam.Value)) then
     begin
        HideDocRelevancyNavBar;
     end else
     begin
       ShowRelevancyNavBar;
     end;
   end;

67.jpg

11.42 KB, 下载次数: 113

回复 支持 反对

使用道具 举报

发表于 2009-5-8 09:52:55 | 显示全部楼层
你66说的是判断,我用的是参数,你用的是具体的功能。
老大,那你改造的代码跟你实际调用的方法都不一样,能实现吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-8 09:57:10 | 显示全部楼层
参数的值不是功能的URL啊?
回复 支持 反对

使用道具 举报

发表于 2009-5-8 09:58:20 | 显示全部楼层
?你说你原来的那个代码中的判断变量吗?那个1、2?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-8 10:00:13 | 显示全部楼层
这个是ShowContainer中全部的代码,uirunfunc中也是类似的,你看看
-----------------------------------------------------------------------------------------
procedure TSTANDARDSTYLEMAINFORM.ShowContainer(AContainer: TFuncContainer);
var
  OldCurrent: TFuncContainer;
  lParam:TBizParam;
begin
  if FCurrentFuncContainer = AContainer then
    Exit;
  {//shl07 IE方式,Business的热键都失效了(200608017979)。}
  if AContainer.FFunc <> nil then
    UpdateActionLists(AContainer.FFunc.MainForm.ActionLists);
  {//2006-8-30}
  OldCurrent := FCurrentFuncContainer;

  if OldCurrent <> nil then
    OldCurrent.MyDisableAlign;

  try

    if AContainer = nil then
      FCurrentFuncContainer := nil
    else
    begin
      if AContainer.Func = nil then
      begin
        if FClosing then
          Exit;
        UIRunFunc(TSystemCore.Operator.Context, '', AContainer.FuncURL, AContainer.Parameter, True, nil, False);
        Exit;
      end;

      // 这样做是为在后面加载好了再切换
      AContainer.SendToBack;
      AContainer.Show;
      AContainer.SetFocus;
      //AContainer.Realign; // 这行是否有必要?现在在System登录的功能中有问题。
      MergeMainMenu(AContainer.Func.MainForm);

      FCurrentFuncContainer := AContainer;

      // 这行必须在 FCurrentFuncContainer 赋值之后
      ReloadRelevancyNavBar;
      ReloadDocRelevancyNavBar;   //add by wdx 20060724
      ReloadEditLogNavBar;
      FCurrentFuncContainer.MyEnableAlign;
      CheckTabButton(FCurrentFuncContainer, True);
    end;

    if OldCurrent <> nil then
    begin
      FFuncContainerActiveStack.Remove(OldCurrent);
      FFuncContainerActiveStack.Add(OldCurrent);
      OldCurrent.Hide;
      CheckTabButton(OldCurrent, False);
    end;

  except
    if OldCurrent <> nil then
    begin
      CheckTabButton(OldCurrent, True);
      OldCurrent.MyEnableAlign;
    end;
    raise;
  end;
{ //********************HC,2009.2.13***********************************************
  if SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\YWGN2.FUNC') then
   HideDocRelevancyNavBar
   else
   ShowRelevancyNavBar;}
//窗体等于某个URL的时候就显示否则隐藏 ************QL  2009-02-19******************
  if (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\RYCX.FUNC'))   or // 个人一般情况查询
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\JKJC.FUNC'))   or // 健康检查
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\JKPJB.FUNC'))  or // 健康评价表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\FNJCB.FUNC'))  or // 妇女健康检查
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\FNPJB.FUNC'))  or // 妇女健康评价
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\JBYQKB.FUNC')) or // 生活方式及疾病用药情况表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\XYJBG.FUNC'))  or // 现有疾病管理效果及下次年检目标表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\TNBHZSFBLL.FUNC'))  or // 糖尿病患者随访表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\GXYHZSFBLL.FUNC'))  or // 高血压患者随访表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\JSSFB.FUNC'))  or // 精神分裂症患者随访表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\COPD.FUNC'))   or // COPD患者随访表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\KGLSFB.FUNC')) or  // 中老年人健康管理随访表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\GLSFB.FUNC'))  or // 妇女健康管理随访表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\JBQKBB.FUNC')) or // 基本情况表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\DYFWJLB.FUNC'))or // 第一次产前保健服务记录
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\CSFLB.FUNC'))  or // 初筛分类表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\QBJFWJLB.FUNC'))    or // 第二次、三次产前保健服务记录表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\CHFSJLB.FUNC'))or // 产后访视记录表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\YCFJL.FUNC'))  or // 产后42天产妇健康检查记录表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\SXZZD.FUNC'))  or // 双向会诊单
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\YYLXD.FUNC'))  or // 医院联系单
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\YWGN3.FUNC'))  or // 抑郁自评量
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\YWGN4.FUNC'))  or // 焦虑自评量
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\XZESFB.FUNC')) or // 新增婴儿随访表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\LSGYSFB.FUNC'))or // 0-4个月随访表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\WGYSFB.FUNC')) or // 5-12个月随访表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\SGYSFB.FUNC')) or // 15-30个月随访表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\D36GYSFB.FUNC'))    or  // 第36个月随访表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\NHSZJCT.FUNC'))or // 男孩生长监测图
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\NHSZJCT0.FUNC'))    or  // 女孩生长监测图
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\YEYSJLB.FUNC'))or // 婴儿饮食情况记录
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\YFJZ.FUNC')) or // 预防接种登记表
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\GRJKDAZJMGN.FUNC')) or // 个人健康档案主界面
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\JBXX.FUNC'))   or // 基本信息
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\ZYSJ.FUNC'))   or // 主要事件
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\ZYWT.FUNC'))   or // 主要问题
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\JB.FUNC'))     or // 疾病管理
     (SysUtils.UpperCase(AContainer.FuncURL) = SysUtils.UpperCase('Biz:\SQWSFWGLXT_X_\JTJKDAZJM.FUNC')) // 家庭健康档案主界面
  then
    ShowRelevancyNavBar
  else
    HideDocRelevancyNavBar ;

lParam :=SystemUtils.TContextUtils.GetParam(self.Context,'Biz:\SQWSFWGLXT_X_\DICT\JKGLCSZ.ParamGroup','JDYCXCS');
   if Variants.VarToStr(lParam.Value)<>'' then
   begin
     if SysUtils.UpperCase(AContainer.FuncURL)=SysUtils.UpperCase(Variants.VarToStr(lParam.Value)) then
     begin
        HideDocRelevancyNavBar;
     end else
     begin
       ShowRelevancyNavBar;
     end;
   end;
//************QL 2009-02-19 ********************
end;
回复 支持 反对

使用道具 举报

发表于 2009-5-8 10:11:11 | 显示全部楼层
已经电话沟通,结贴

if SysUtils.UpperCase(AContainer.FuncURL)=SysUtils.UpperCase(Variants.VarToStr(lParam.Value)) then
     begin
        HideDocRelevancyNavBar;//改成HideRelevancyNavBar;
     end else
     begin
       ShowRelevancyNavBar;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-8 10:13:19 | 显示全部楼层
非常感谢 zfang 的细心解答
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-21 17:00 , Processed in 0.044061 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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