0

我们的应用程序主要是一个单屏应用程序。当进入某种模式时,我们隐藏 TRibbon 并用一个上面有一些 TSpeedButton 组件的 TPanel 替换它。(见下文)。忽略任何不平整、按钮标题等。

好的

在我回到正常模式然后回到这个特殊模式后,有些东西被破坏了。有什么建议吗?奇怪的是,如果我将鼠标移到按钮上,图像的外观会发生变化。

坏的

4

1 回答 1

0

谢谢你们。找到了修复它的方法。

它是通用软件,所以如果低质量的视频驱动程序容易受到这个问题的影响,我们需要改变一些东西。

它不在虚拟机上;那是一台Win7电脑。很高兴知道 VMWare 问题,因为我确实使用 VMWare。

重绘它并没有帮助,但@David Heffernan 的评论给了我一个让我得到答案的想法。这个想法是将面板绘制为位图并在整个过程中将该位图写入文件。

  procedure WriteToolbarBitmapFile(sText:string);
  var
    bmp:TBitmap;
  begin
    bmp:=TBitmap.Create;
    try
      bmp.Width:=pnlIMToolbar.Width;
      bmp.Height:=pnlIMToolbar.Height;
      pnlIMToolbar.PaintTo(bmp.Canvas, 0, 0);
      bmp.SaveToFile('c:\tmp\' + FormatDateTime('hh-nn-ss', Now) + ', ' + sText + '.bmp');
    finally
      bmp.Free;
    end;
  end;

当我尝试设置有问题的面板的位置(pnlIMToolbar)以确保其位置高于另一个控件时,问题就直接变得明显了。更改它,以便设置另一个控制位置。

于 2013-04-09T16:15:47.850 回答