0
我們的應用程序主要是單屏應用程序。當進入特定模式時,我們隱藏TRibbon並將其替換爲TPanel,其上有一些TSpeedButton組件。 (見下文)。忽略任何不均,按鈕標題等什麼原因導致這幅奇怪的繪畫「腐敗」?
我回到正常模式後,然後回來這個特殊的模式,東西被破壞。有什麼建議發生了什麼?奇怪的是,如果我將鼠標移動到按鈕上,圖像的外觀就會改變。
我們的應用程序主要是單屏應用程序。當進入特定模式時,我們隱藏TRibbon並將其替換爲TPanel,其上有一些TSpeedButton組件。 (見下文)。忽略任何不均,按鈕標題等什麼原因導致這幅奇怪的繪畫「腐敗」?
我回到正常模式後,然後回來這個特殊的模式,東西被破壞。有什麼建議發生了什麼?奇怪的是,如果我將鼠標移動到按鈕上,圖像的外觀就會改變。
謝謝大家。找到了解決方法。
它是一般用途的軟件,所以如果低質量的視頻驅動程序容易出現這個問題,我們需要改變。
它不在虛擬機上;這是一個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-09 01:56:43
另外,你在虛擬機上運行這個嗎?我在問,因爲VMWare Player在最近幾個版本中出現屏幕更新錯誤。 – 2013-04-09 06:52:40
您可以通過在模式切換後強制重繪來解決該問題嗎? – 2013-04-09 07:36:55