:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки ::
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  


Форумы  :: FAQ FoxPro

Как изменить шрифт пунктов меню в дизайнере меню
Дата: 12.11.05 20:28:55 ОтветитьЦитировать

Вопрос:

Как изменить шрифт пунктов меню в дизайнере меню?

Ответ:

Непосредственно в дизайнере меню такого пункта нет.

Вероятно, причина в том, что настройки основной линейки меню берутся из системных настроек (из настроек Windows). Т.е. даже если Вы явно укажите свой шрифт для пунктов основной линейки меню, то они будут проигнорированы. Вот разработчики FoxPro и посчитали, что нет смысла вводить настройку, которая все равно игнорируется в основной линейке меню.

Однако для всех прочих пунктов меню все-таки можно явно указать шрифт.

Дело в том, что, то, что формируется в дизайнере меню - это не окончательное меню, а лишь некий "макет" меню. Из этого макета впоследствии формируется окончательное меню, когда Вы выбираете пункт системного меню Menu - Generate. Эта генерация выполняется несколько формально. Чем, в данном случае, и следует воспользоваться.

Выберите нужный Вам пункт меню (исключая пункт основной линейки меню) и нажмите кнопку в столбце "Options".

В разделе SKIP FOR напишите примерно следующее:

.F. FONT "Arial Cyr",20 STYLE "B"

После генерации меню получим в итоговом файле MPR что-то вроде

  
  DEFINE BAR 1 OF пример PROMPT "Пример" ;  
  SKIP FOR .F. "Arial Cyr",20 STYLE "B"

В режиме Preview в самом дизайнере меню Вы не увидите результатов этого "хакерского" трюка. Результат будет виден только при запуске самого меню.

Если по каким-либо причинам, Вы не хотите использовать раздел SKIP FOR для указания шрифта, то примерно, то же самое можно сделать в разделе Message. Только там код будет несколько другим

'' FONT "Arial Cyr",20 STYLE "B"

После генерации меню получим в итоговом файле MPR что-то вроде

  
  DEFINE BAR 1 OF пример PROMPT "Пример" ;  
  MESSAGE '' "Arial Cyr",20 STYLE "B"

Разумеется, для задания шрифта следует использовать только один раздел. Т.е. либо раздел SKIP FOR, либо раздел Message. Не надо указывать шрифт в обоих разделах. Это вызовет синтаксическую ошибку в итоговом меню. Будет одновременно две опции FONT у одного пункта.

Замечание:

Начиная с версии Visual FoxPro 9, в синтаксисе команды DEFINE BAR у опции FONT появился третий необязательный параметр - nFontCharSet. Т.е. можно сделать шрифт меню относительно независимым от региональных настроек системы. Например, для русского языка в разделе SKIP FOR это будет выглядеть примерно так:

.F. FONT "Arial",20,204 STYLE "B"

Более того, генератор меню версии Visual FoxPro 9 стал более "интеллектуальным". Если у него получается конструкция вида SKIP FOR .F., то она просто исключается, и меню будет иметь следующий вид

  
  DEFINE BAR 1 OF пример PROMPT "Пример" ;  
  "Arial",20,204 STYLE "B"
Ratings: 0 negative/0 positive


Тема Просмотров Написано Написано
  Menu 4881 Владимир Максимов 01.03.05 20:56
  При запуске меню появляется сообщение о синтаксической ошибке 7509 Владимир Максимов 20.03.05 16:29
  Как добавить в меню список открытых окон 146623 Владимир Максимов 22.03.05 09:56
  Почему в готовом EXE не работает копирование по Ctrl+C, Ctrl+V 8331 Владимир Максимов 29.06.05 19:49
  Как изменить шрифт пунктов меню в дизайнере меню 6921 Владимир Максимов 12.11.05 20:28
  В готовом EXE все меню или его часть отображается не по русски 3896 Владимир Максимов 30.12.06 16:02


Извините, но у вас нет прав для того, чтобы писать в этом форуме.

On-line: 49 Mitchman  and Guests: 48


© 2006 Fox Club 
Яндекс.Метрика