настройка MainMenu

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

настройка MainMenu

Сообщение mirk » 03.02.2012 09:37:45

Пытаюсь сделать MainMenu красивый вид, но не могу найти несколько настроек:
1. Место под картинку было всегда зарезервировано слева;
2. Мес то под картинку сделать другим цветом (как в Delphi);
3. Место под галку (CheckBox) было всегда зарезервировано слева;
4. Горячие клавиши (ShortCut) шли в своей колонке (справа), а не прижимались к названию пункта меню.
Где их искать? ;)
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: настройка MainMenu

Сообщение dunin » 03.02.2012 10:52:17

mirk, второй пункт не понял, а вот как умудрились все остальное сделать как-то по другому ума не приложу. :|
Скриншотом с "неправильным меню" не поделись?
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: настройка MainMenu

Сообщение mirk » 03.02.2012 11:48:35

menu1.png: слева нет поля ни под картинку, ни под CheckBox. ShortCut у верхнего пункта залез на текст нижнего пункта (гораздо красивее выглядит если будет явные 2 колонки - под текст и под ShortCut).

menu2.png: место под картинку обозначено другим цветом (Delphi).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: настройка MainMenu

Сообщение dunin » 03.02.2012 11:52:36

Код: Выделить всё
MainMenu.ImageList:= Imagelist;
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: настройка MainMenu

Сообщение mirk » 03.02.2012 12:00:15

Указание ImageList не дает желаемого эффекта. Место появляется только если у ветки меню есть хоть 1 картинка. Но мне надо чтобы место было всегда - для единообразия. Иначе получается, что в одной ветке меню есть место, а в другой - нет (т.е. не очень красиво).
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: настройка MainMenu

Сообщение Sergei I. Gorelkin » 03.02.2012 15:05:53

Меню в Delphi7 реализовано совершенно другим компонентом (TActionBar и компания), искать какие-то настройки для этого в стандартном TMenu просто бессмысленно - их там нет.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: настройка MainMenu

Сообщение mirk » 03.02.2012 15:21:55

Меню из Delphi7 приложил для примера, т.к. он (Delphi7) просто оказался под рукой.
В обычном TMainMenu у Delphi7 нет проблем с 3 и 4 - эти детали учитываются по умолчанию. Разве Lazarus не должен унаследовать подобное поведение?
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: настройка MainMenu

Сообщение alexs » 04.02.2012 01:57:07

mirk
Перехватывай событие отрисовки меню и рисуй там что хочешь.
Кстати, если не ошибаюсь, отрисовка картинок в меню в LCL сделана именно так.
Сделай не стандарное меню своими компонентами.

PS
Но лучше с меню особо не эксперемнтировать - у тебя один вид - ты его красиво раскрасил. А у пользователя будет установлена другая тема оформления - вся красота пойдёт лесом...
PPS
Я уж не говорю о том, что это будет врядли кросплатформенным решением.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: настройка MainMenu

Сообщение mirk » 06.02.2012 12:20:36

Но лучше с меню особо не эксперемнтировать - у тебя один вид - ты его красиво раскрасил. А у пользователя будет установлена другая тема оформления - вся красота пойдёт лесом...

Согласен.
Пункты 1 и 2 попадает под раскраски и от них можно легко отказаться.
Но пункты 3 и 4 - стандартное поведение меню, и получается в Lazarus меню будет не как в системе. А ведь ошибка довольно простая - не надо скрывать поле под галку и все. Для проверки можно посмотреть как себя ведет меню в Delphi (обычное) или в MS Paint.
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: настройка MainMenu

Сообщение Sergei I. Gorelkin » 06.02.2012 18:19:43

На эту тему есть патч (уже год болтается): http://bugs.freepascal.org/view.php?id=18424
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: настройка MainMenu

Сообщение mirk » 08.02.2012 09:32:00

На эту тему есть патч (уже год болтается)

Отличный патч (даже больше косяков исправляет). Почему его не принимают?
Может есть подобный патч и на п.4? ;)
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: настройка MainMenu

Сообщение ev » 23.02.2012 00:14:23

Отличный патч (даже больше косяков исправляет). Почему его не принимают?

сегодня обновился... в SVN версии патч применен (спасибо Павлу Ишенину) ;)
ev
долгожитель
 
Сообщения: 1775
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Re: настройка MainMenu

Сообщение mirk » 24.02.2012 14:40:27

в SVN версии патч применен (спасибо Павлу Ишенину)

Огромное спасибо за оперативное исправление :!:

P.S. Может найдется подобный патч для решения п.4? ;)
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 205

Рейтинг@Mail.ru