2015-05-21 37 views
0

大型彈出式菜單上出現繪圖問題。 菜單的箭頭沒有顯示,有些繪畫問題VCLStyle無法在大型彈出式菜單上正確繪圖

如何解決這個問題?

procedure TForm1.Button1Click(Sender: TObject); 
var 
    mi:TMenuItem; 
    I: Integer; 
begin 
    for I := 0 to 100 do 
    begin 
    mi:=TMenuItem.Create(PopupMenu1); 
    mi.Caption:='Item '+IntToStr(I); 
    PopupMenu1.Items.Add(mi); 
    end; 
end; 

樣本圖像:

菜單項與樣本代碼生成的彈出菜單的

結束彈出菜單的沒有樣式(母語)

Menu without style

完與式

Menu with style

在菜單上點擊箭頭處:

Drawing problems

全屏圖片:

enter image description here

編輯

-Delphi XE3

- 添加完整屏幕菜單圖像。

+0

OT:*?如何解決這個問題*有一個較小的菜單。沒有人想滾動那麼多項目;-)順便說一句。你使用哪個版本的Delphi?你可以在你的問題中添加一個Delphi版本標籤嗎? – TLama

+0

不是一個更小的菜單。裁剪圖像。添加了100個菜單項。 Delphi版本XE3 – zgn

+0

同樣的問題有時可能出現在正常的菜單上(不使用樣式)。我記得在Windows開始菜單上用大量元素和滾動啓用類似的錯誤(垂直線)。但問題並不總是會發生。當滾動更小的流水時,這個問題從未顯示。它只有在滾動較長時間時纔會顯示。 – SilverWarior

回答