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;

Примерни изображения:

Край на изскачащото меню без стил (Собствен)

Меню без стил

Край на изскачащото меню със стил

Меню със стил

Когато щракнете върху стрелката, поставете в менюто:

Проблеми с чертане

Изображение на цял екран:

въведете описание на изображението тук

Редактиране:

- Delphi XE3

-Добавено изображение на менюто на цял екран.


person zgn    schedule 21.05.2015    source източник
comment
OT: Как да решим този проблем? Имайте по-малко меню. Никой не иска да превърта през толкова много елементи ;-) Btw. коя версия на Delphi използвате? Бихте ли добавили таг за версия на Delphi към въпроса си?   -  person TLama    schedule 21.05.2015
comment
Не по-малко меню. изображенията са изрязани. Добавени са 100 елемента от менюто. Delphi версия XE3   -  person zgn    schedule 21.05.2015
comment
Същият проблем понякога може да възникне в нормални менюта (без използвани стилове). Спомням си, че видях подобна грешка (вертикални линии) в стартовото меню на Windows с много елементи и разрешено превъртане. Но проблемът не винаги се е появявал. При превъртане на по-малки интервали този проблем никога не се показва. показваше се само понякога при превъртане за по-дълги периоди.   -  person SilverWarior    schedule 21.05.2015
comment
100 елемента от менюто е просто грешно и да се очаква да се държат правилно е нереалистично. Подменютата (и възможността да ги вмъкнете в друго подменю) са специално изобретени, за да се предотврати необходимостта от поставяне на толкова много елементи в менюто и очакването потребителят да превърта през толкова много елементи е абсурдно. Докторе, не ме боли, когато почуквам с пръст по масата, но наистина ме боли, когато пусна масата върху нея. Защо? Когато направите нещо невероятно грешно за предназначената употреба на нещо, не бива да се изненадвате, когато то не работи точно както бихте очаквали.   -  person Ken White    schedule 21.05.2015
comment
в действителност имам 60 елемента от менюто. 100 елемента от менюто за примерно приложение, а Windows управлява 100 + над много елемента без никакъв проблем. Това е грешка във VCL стил.   -  person zgn    schedule 22.05.2015


Отговори (1)


Проблемът е коригиран от @RRUZ

Можете да актуализирате от: https://github.com/RRUZ/vcl-styles-utils

person zgn    schedule 04.06.2015