Форум » GUI » Смена шрифта в TS_Browse » Ответить

Смена шрифта в TS_Browse

SkyNET: Здравствуйте ! Работаю с TSBRowse, пытаюсь сделать кнопочку "Поменять шрифт" с помощью GetFont(). Во всех примерах используется DEFINE FONT, а потом :ChangeFont(GetFontHandle()). Как можно поменять отдельные свойства ? Или почему не работает код: [more] Главная форма: DEFINE FONT TSBR_FONT FONTNAME "Arial" SIZE 12 Модуль: IF !Empty (aFont[1]) CHANGE FONT TSBR_FONT NAME aFont[1] SIZE aFont[2] IF aFont[3]==.T.; CHANGE FONT "TSBR_FONT" BOLD; ELSE; CHANGE FONT TSBR_FONT NOBOLD; ENDIF IF aFont[4]==.T.; CHANGE FONT TSBR_FONT ITALIC; ELSE; CHANGE FONT TSBR_FONT NOITALIC; ENDIF IF aFont[6]==.T.; CHANGE FONT TSBR_FONT UNDERLINE; ELSE; CHANGE FONT TSBR_FONT NOUNDERLINE; ENDIF IF aFont[7]==.T.; CHANGE FONT TSBR_FONT STRIKEOUT; ELSE; CHANGE FONT TSBR_FONT NOSTRIKEOUT; ENDIF FOR nI:=1 TO 7 TBROWSE_1:ChangeFont(GetFontHandle("TSRB_FONT"),nI) NEXT ENDIF [/more] Выдаёт ошибку: Syntax error "syntax error at 'FONT'" В чём проблема ? О_о

Ответов - 4

gfilatov2002: SkyNET пишет: В чём проблема ? Команда CHANGE FONT предназначена для использования исключительно при печати (она определена в файле winprint.ch)

SkyNET: А как тогда поменять шрифт по выбору пользователя ? Как получить указатель шрифта по его свойствам ? Такая конструкция не работает ! aFont:=GetFont() FOR nI:=1 TO 7 TBROWSE_1:ChangeFont(GetFontHandle(aFont),nI) NEXT

gfilatov2002: SkyNET пишет: Как получить указатель шрифта по его свойствам ? Попробуй так: aFont:=GetFont() IF ! _IsControlDefined ( "Font_1" , "Main" ) _DefineFont ( ; "Font_1", ; aFont[1], ; aFont[2], ; aFont [3], ; aFont [4], ; aFont [6], ; aFont [7] ) ENDIF FOR nI:=1 TO 7 TBROWSE_1:ChangeFont(GetFontHandle("Font_1"),nI) NEXT и после закрытия формы RELEASE FONT Font_1


SkyNET: Спасибо ! Правда команда RELEASE FONT не работает (точнее работает вхолостую), но эту проблему решил глобальным счётчиком...



полная версия страницы