Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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 - они вообще насколько я понял все делают сами, хотя это мерцает, но в принципе- это те же формы и уже не меню...

Жалко :)

Спасибо.



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

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

Наверх





Память: 0.45 MB
Время: 0.005 c
4-94629
Romul
2002-02-25 14:06
2002.04.29
Как


1-94380
Александр Арсентьев
2002-04-17 09:52
2002.04.29
глюки Делфи


3-94333
Beer
2002-04-09 17:05
2002.04.29
select из строковой переменной.


1-94359
NS
2002-04-17 11:57
2002.04.29
Нужно в RUN-Time создавать экземпляры некоторых объектов (для при


3-94332
Sergey U.
2002-04-09 11:59
2002.04.29
ClientDataSet - сохранение в XML





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский