Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.29;
Скачать: CL | DM;

Вниз

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 - они вообще насколько я понял все делают сами, хотя это мерцает, но в принципе- это те же формы и уже не меню...

Жалко :)

Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2002.04.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
14-94570
Почемучка
2002-03-20 12:33
2002.04.29
QReport в Delphi 5.0


4-94618
Serg001
2002-02-23 16:02
2002.04.29
Время запуска Windows.


6-94529
fixxxer
2002-02-14 18:28
2002.04.29
Как получить список компьютеров в локальной сети


3-94296
Softmaster
2002-04-08 12:27
2002.04.29
Восстановление базы Interbase


3-94286
Вик
2002-04-08 10:56
2002.04.29
ZeosDBO компоненты к Delphi6