Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2012, 12:56   #1
kettanaito
Веб-дизайнер
Форумчанин
 
Аватар для kettanaito
 
Регистрация: 11.08.2011
Сообщений: 305
По умолчанию TMenuItem.ImageIndex и OwnerDraw

Доброго времени суток.
Есть SortList (TStringList), который содержит пути к различным приложениям. Циклом считываем путь и из полученного EXE-файла извлекаем иконку. После чего иконку добавляем в MainMenuIcons (TImageList) и задаем нужный индекс TMenuItem:
Код:
for i:=0 to SortList.Count-1 do
begin
  bname:=Copy(SortList[i],0,Pos('%',SortList[i])-1);
  bpath:=Copy(SortList[i],Pos('%',SortList[i])+2,length(SortList[i]));
  Icon:=TIcon.Create;
  Icon.Handle:=ExtractIcon(hInstance,PChar(bpath),0);
  MainMenuIcons.AddIcon(Icon);

  MenuItem:=TMenuItem.Create(MPreview);
  MenuItem.Caption:=bname;
  MenuItem.Hint:=bpath;

  MenuItem.ImageIndex:=MainMenuIcons.Count-1;
  MenuItem.AutoHotkeys:=maManual;
  MenuItem.OnClick:=MPreviewBrowserClick;
  MPreview.Add(MenuItem);
end;
Все работает хорошо, получаем иконку и она действительно отображается рядом с названием созданных MenuItem. Но почему-то прорисовка созданного меню происходит будто бы под свойством OwnerDraw=True:
http://gyazo.com/28734d7cb9784e89b816c441aa4bf0de
Можете, пожалуйста, объяснить почему так происходит и как это исправить? Сам по себе MenuItem не имеет свойства OwnerDraw, а в предке MainMenu оно выключено.

Спасибо за помощь.
kettanaito вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TListView OwnerDraw не рисуются SubItems JoLan Компоненты Delphi 10 13.02.2016 04:54
OwnerDraw ListView with Checkboxes t2skler Общие вопросы C/C++ 0 05.06.2012 19:32
Назначить событие на OnClick для TMenuItem zver777 Общие вопросы Delphi 2 21.11.2010 17:39
Сохранение ImageIndex TreeView TaYgA Помощь студентам 6 21.07.2010 15:57
TPopMenu, TMenuItem и процедура обработки нажатия Denager Общие вопросы Delphi 8 04.07.2008 21:32