Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Прорисовка меню и контролов


Автор: Keeper89 18.5.2012, 01:35
Доброго времени суток!

Дано приложение, имеющее вид:

На Windows 7 (где идет девелопмент):

user posted image


На Windows XP (где идет деплоймент):

user posted image


На Windows XP с класс. темой (где идет деплоймент):

user posted image

.

Хочется побороть 2 вещи:
1) сделать более-менее "стандартное" меню для последних 2-х случаев.
2) в случае класс. темы - отсутствие единого фона (серого) у всех элементов.

Перепробовал фоны и т.п. - безрезультатно, взываю к помощи smile

---

UPD:
2) Решается установкой ParentColor = True

Автор: gesper 18.5.2012, 02:28
Могу ошибатся, но...
ты используешь компонент  "ActionMainMenuBar" вместо "MenuBar"? Второй отображается всегда серым. У первого есть пункт свойств "ColorMap" который либо настраивается в ручную, либо вобще к компоненту  "XPColorMap" цепляется.

Автор: Keeper89 18.5.2012, 03:00
gesper, да, используется ActionMainMenuBar.

Во втором случае я не против естественно что оно, серое, только вот не везде и от стандартных диалогов такого типа отличается. 

Автор: gesper 18.5.2012, 03:25
Тематику XPColorMap рой, это принудительно сейчас программе задается такая тема "XPStyle", а не тема выставленная для всей ОС в целом.

Автор: Akella 18.5.2012, 12:39
1. зачем оно тебе надо, какая разница, не сильно и отличается
2. используй сторонние шкурки типа альфаскинс

Добавлено через 46 секунд
3. выкинь ActionMainMenuBar - это один большой глюк, уж лучше что-то стороннее или стандартное TMainMenu

Автор: gesper 18.5.2012, 15:11
ActionMainMenuBar надо использовать совместно с такими же компонентами Action****** У них на всех будут одни настройки и действия. 
Но я согласен с Akella, в том что простой MainMenuBar удобней из-за того что с ним все ОС работают в своем стиле,а не стиле прописаном в программе.

Автор: superVad 18.5.2012, 20:31
Цитата(Akella @  18.5.2012,  11:39 Найти цитируемый пост)
3. выкинь ActionMainMenuBar - это один большой глюк, уж лучше что-то стороннее или стандартное TMainMenu

Оно красивое. Недостатков не вижу в этом меню, кроме одного большого. Не работает нормально с MDI (это в Д7).

Автор: Keeper89 18.5.2012, 21:38
Akella,
1. На последних рисунках высота пунктов не одинакова - это косяк. Шрифт тоже.

Сам по тебе он нормальный и не глючит. Когда у меня стояла XP и D7 тоже самое рисовалось замечательно.

Автор: Akella 19.5.2012, 13:32
та пользователю ПОФИГ на твою высоту!

Автор: Keeper89 19.5.2012, 20:25
Цитата(Akella @  19.5.2012,  13:32 Найти цитируемый пост)
та пользователю ПОФИГ на твою высоту! 

Как это пофиг? Мне жаль твоих пользователей  smile 

Автор: superVad 20.5.2012, 11:37
Keeper89, в гридах можно черезстрочную раскраску добавить. Веселее будет.

Автор: Keeper89 20.5.2012, 11:56
superVad, я не фанат раскрасок, но разная высота пунктов меню меня раздражает. Второй вопрос решен, кстати. 

Автор: Akella 21.5.2012, 15:10
эстет?  smile 

Автор: Keeper89 21.5.2012, 18:58
Цитата(Akella @  21.5.2012,  15:10 Найти цитируемый пост)
эстет?    

При чем тут эстетизм? Здание с ровными окнами это удел эстетов, остальные покупают к какими попало? smile

Автор: Akella 22.5.2012, 07:41
Что ж ты сравниваешь здание и меню в программе? 99% на высоту меню не обратят внимание, а в твоем случае вообще все 100%. Другое дело, если у тебя пользователь видит разной высоты пункты, но они же этого не видят.

Добавлено через 1 минуту и 47 секунд
Все твои пользователи видят постоянно одинаковую высоту пунктов меню.

Автор: Keeper89 22.5.2012, 12:51
Akella, я тебя понял smile

Есть у кого-нибудь предложения по теме?

Автор: Akella 22.5.2012, 13:32
 smile 

Автор: Keeper89 22.5.2012, 13:52
Akella, ты злостно оффтопишь smile

Автор: Akella 22.5.2012, 14:44
Это ты придираешься.
Если не обращать внимание на то, что на левой картинке включены темы, а на средней нет, то разницы нет.

user posted image

А то, что Win 7 рисует визуальные компоненты так, как задал текущей темой пользователь, то это его проблемы.

И выходе здесь 2.
1. Использовать сторонние шкурки, например, AlphaControls или Business Skin Forms, как тебе и советовали.
2. Найти/создать темы оформления Windows и заставить пользователя применять именно их.

Если уж так, то дать пользователю свободу выбора, а не тебе.


Цитата(Keeper89 @  18.5.2012,  21:38 Найти цитируемый пост)
1. На последних рисунках высота пунктов не одинакова - это косяк. Шрифт тоже.

Да, блин, какой же это косяк? Скажи это разработчикам Microsoft и создателям тем оформления windows.


Цитата(superVad @  18.5.2012,  20:31 Найти цитируемый пост)
Недостатков не вижу в этом меню, кроме одного большого. Не работает нормально с MDI (это в Д7). 

и нереально глючит сама среда разработки

Добавлено через 7 минут и 59 секунд
Keeper89, как программист, ты делаешь упор не на то, на что следовало бы более пристально обращать внимание smile

Автор: superVad 22.5.2012, 19:34
Цитата(Akella @  22.5.2012,  13:44 Найти цитируемый пост)
и нереально глючит сама среда разработки

Не замечал.

Автор: Keeper89 23.5.2012, 00:33
Цитата(Akella @  22.5.2012,  14:44 Найти цитируемый пост)
Если не обращать внимание на то, что на левой картинке включены темы, а на средней нет, то разницы нет.

Ну как нет, по твоей же картинке:
user posted image

Цитата(Akella @  22.5.2012,  14:44 Найти цитируемый пост)
как программист, ты делаешь упор не на то, на что следовало бы более пристально обращать внимание

В некоторых проектах (в отличие от работы) приходится быть и за себя и за того парня smile


Автор: northener 23.5.2012, 02:42
Цитата(Keeper89 @  23.5.2012,  00:33 Найти цитируемый пост)
В некоторых проектах (в отличие от работы) приходится быть и за себя и за того парня smile


Архитектора проекта?
Забудь. Съэкономишь минуту работы - потеряешь год жизни.
Плавали - знаем. smile

Автор: Keeper89 23.5.2012, 03:27
Цитата(northener @  23.5.2012,  02:42 Найти цитируемый пост)
Архитектора проекта?
Забудь. Съэкономишь минуту работы - потеряешь год жизни.
Плавали - знаем. smile 

Ну, приходится smile Хотя тут про интерфейс речь

Автор: ZBugz 23.5.2012, 06:12
Чето непонятный разговор какой то smile  Тут все верно скзали: или меню нестандартное ставить или оставить как есть.

Добавлено через 1 минуту и 13 секунд
Попробуй это меню http://www.bluecave.net/products/barmenus/

Автор: Akella 23.5.2012, 09:46
Цитата(ZBugz @  23.5.2012,  06:12 Найти цитируемый пост)
Попробуй это меню http://www.bluecave.net/products/barmenus/ 


смеешься  smile 
Цитата
Last Modified: 2002-06-17

Автор: XperT 23.5.2012, 10:38
Цитата(Keeper89 @ 23.5.2012,  00:33)
Цитата(Akella @  22.5.2012,  14:44 Найти цитируемый пост)
Если не обращать внимание на то, что на левой картинке включены темы, а на средней нет, то разницы нет.

Ну как нет, по твоей же картинке:
user posted image

Цитата(Akella @  22.5.2012,  14:44 Найти цитируемый пост)
как программист, ты делаешь упор не на то, на что следовало бы более пристально обращать внимание

В некоторых проектах (в отличие от работы) приходится быть и за себя и за того парня smile

Ну так поставь иконку на "Выход" и будет у всех одинаковая высота

Автор: Akella 23.5.2012, 11:14
Цитата(Keeper89 @  23.5.2012,  00:33 Найти цитируемый пост)
Ну как нет, по твоей же картинке:


Ты имеешь ввиду, что у одного и того же меню разная высота пунктов, как бы это понятнее для всех сказать... 
Есть в меню три пункта, так вот один из них может быть отличного размера от двух других на одной и той же ОС?
Да, видно, если присмотреться, я понял твою проблему.

Автор: Keeper89 23.5.2012, 13:10
Цитата(Akella @  23.5.2012,  11:14 Найти цитируемый пост)
Ты имеешь ввиду, что у одного и того же меню разная высота пунктов, как бы это понятнее для всех сказать... 
Есть в меню три пункта, так вот один из них может быть отличного размера от двух других на одной и той же ОС?
Да, видно, если присмотреться, я понял твою проблему. 

Да, признаю, не точно объснил - дело именно в этом smile
Цитата(XperT @  23.5.2012,  10:38 Найти цитируемый пост)
Ну так поставь иконку на "Выход" и будет у всех одинаковая высота 

Ну это бред ставить пустые иконки на пункты, в которых их быть не должно.

Автор: Akella 23.5.2012, 15:34
а я считаю, что должно  smile 

Автор: ZBugz 24.5.2012, 06:28
Цитата(Akella @ 23.5.2012,  09:46)
Цитата(ZBugz @  23.5.2012,  06:12 Найти цитируемый пост)
Попробуй это меню http://www.bluecave.net/products/barmenus/ 


смеешься  smile 
Цитата
Last Modified: 2002-06-17

Да не, оно хоть и старое, но работает и на XE2, причем без переделок. До сих пор юзаю иногда.

Автор: gesper 25.5.2012, 20:00
Я эти красивые меню взял потестил, потои запустил программу на Win7, понял что "фигня ребята получается". И выкинул все эти XPStyle штуки и стал использовать только простые элементы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)