Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

Custom Menu 


Up   (2002-04-16 15:15) [0]

Доброго времени суток.

Разрабатываю приложение и столкнулся с проблемой поддержки языка интерфейса. В программе задуман перевод контролов на-лету. Все бы ничего, buttons переводятся- достаточно поменять charset, выбрать соответствующий шрифт (Arial) и если все три языка установленны в системе (английский, русский, латышский), то кнопки меняют свой текст сразу.
Проблема возникла с menu. У menu нет property Font и вообще все внутри довольно запутано (VCL, RxLib sources). Начнем с того, что существуют два класса- TMenuPopup и TMenuItem, у обоих есть метод DrawItem. Не понятно какой из них что делает. Посмотрел CoolMenu - не очень дружелюбный интерфейс, лишние для меня навороты, кроме того эти компоненты небесплатны. Что посоветуют мастера? Мне всего-то нужно ввести property Font. Наверняка кто-то натыкался на эту проблему.

Спасибо.



Виктор Щербаков   (2002-04-16 15:19) [1]

Шрифт стандартного меню устанавливается в настройках системы. Это дело пользователя.



Up   (2002-04-16 15:28) [2]

Это как раз и ненужно. Стандартное меню рисуется стандартным шрифтом. У меня в WinXP есть настройка типа "Which language to use for non-unicode controls". Дословно это означает- какой язык дополнительно к английскому (а выбор среди русского и латышского)
использовать. Я бы не хотел заставлять пользователя менять regional settings и делать перезагрузку компа для того что бы интерфейс был на соответствующем языке. Согласитесь, что это неправильно.

Спасибо.



Виктор Щербаков   (2002-04-16 15:33) [3]

У TMenuItem, есть событие OnDrawItem. В обработчике этого события можно произвольным образом самому нарисовать пункт меню.



Reticent   (2002-04-16 15:36) [4]

у меня была эта проблема. К сожалению, по другому никак. :(

Но , если хочешь, можешь перехватить у винды рисование шрифтов и делать свое. Но проще будет вежливо все обьяснить юзеру и попросить перезагрузить комп :)

Удачи!



Up   (2002-04-16 15:43) [5]

Да, но посмотрите на CoolMenu - они вообще насколько я понял все делают сами, хотя это мерцает, но в принципе- это те же формы и уже не меню...

Жалко :)

Спасибо.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.036 c
1-94508           Sound                 2002-04-17 01:06  2002.04.29  
Как узнать полный путь до exe файла моей программы?


14-94564          Morfey                2002-03-24 10:28  2002.04.29  
Вопрос не по теме но...


3-94301           SkyR                  2002-04-09 08:32  2002.04.29  
SQL - запрос проблемы...


4-94637           celestial             2002-02-25 08:56  2002.04.29  
Как запретить окну быть активным?


7-94600           kioto                 2002-01-27 10:59  2002.04.29  
Отображение содержимого окна при перетаскивании