我们的应用程序主要是一个单屏应用程序。当进入某种模式时,我们隐藏 TRibbon 并用一个上面有一些 TSpeedButton 组件的 TPanel 替换它。(见下文)。忽略任何不平整、按钮标题等。
在我回到正常模式然后回到这个特殊模式后,有些东西被破坏了。有什么建议吗?奇怪的是,如果我将鼠标移到按钮上,图像的外观会发生变化。
我们的应用程序主要是一个单屏应用程序。当进入某种模式时,我们隐藏 TRibbon 并用一个上面有一些 TSpeedButton 组件的 TPanel 替换它。(见下文)。忽略任何不平整、按钮标题等。
在我回到正常模式然后回到这个特殊模式后,有些东西被破坏了。有什么建议吗?奇怪的是,如果我将鼠标移到按钮上,图像的外观会发生变化。
谢谢你们。找到了修复它的方法。
它是通用软件,所以如果低质量的视频驱动程序容易受到这个问题的影响,我们需要改变一些东西。
它不在虚拟机上;那是一台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)以确保其位置高于另一个控件时,问题就直接变得明显了。更改它,以便设置另一个控制位置。