这个问题delphi2006中不存在,如果用fastreport的英文菜单时也没这个问题,但如果是汉字菜单显示就会发现许多显示的中文菜单项后面会出些一些乱码的“尾巴”。fastreport4.0和4.5我都试过,都有这个问题。
    请问是问题出在哪里,能解决么?!

解决方案 »

  1.   

    汉字菜单显示是什么概念我只知道fs4.3的版本里,memo会造成中文的丢失,rich不会
      

  2.   

    菜单显示包括fastreport打印预览界面的右键菜单,设计界面的主菜单和右键弹出菜单等都有这个问题。
      

  3.   

    大家看看是不是与fastreport里面的这段代码有关:
    procedure TList.Insert(Index: Integer; Item: Pointer);
    begin
      if (Index < 0) or (Index > FCount) then
        Error(@SListIndexError, Index);
      if FCount = FCapacity then
        Grow;
      if Index < FCount then
        System.Move(FList^[Index], FList^[Index + 1],
          (FCount - Index) * SizeOf(Pointer));
      FList^[Index] := Item;
      Inc(FCount);
      if Item <> nil then
        Notify(Item, lnAdded);
    end;
    其中的SizeOf(Pointer)会不会没有考虑中文字符的问题?
      

  4.   

    看上去与菜单paint刷新有关,当鼠标上下扫过菜单时,菜单后面的多余显示会跟着刷新而且就是上下相关菜单的影像残留。
    请高手指点估计是什么地方的问题。
    我用的是:delphi2007,fastreport4.5,操作系统vista home版。
      

  5.   

    感觉还是与delphi2007的controls.pas有关,只是这里的内容太复杂了,而且为什么只与fastreport的菜单有关呢,并且英文菜单也没问题,只有中文菜单才有这个情况呢?
    是不是中文菜单的宽度计算上有问题,看上去菜单是偏宽了点。
    请高手帮忙仔细看看,这里先谢了!
      

  6.   

    FastReport是个好东东,在D6、D7上用过!
      

  7.   

    真不知道是delphi2007的bug还是fastreport的问题。