Поиск сообщества
Показаны результаты для тегов 'glyph'.
Найдено: 2 результата
-
Механизм, который позволяет использовать иконку символьного шрифта вместо картинки на кнопках. Уж очень мне не нравится стандартный механизм добавления картинки на кнопку, поэтому, пару лет назад, начал искать альтернативу и остановился на символьных шрифтах (таких как FontAwesome). Вот что из этого получилось: IconicFontGlyph.zip Под Windows работает без проблем - на других системах не пробовал. Как это работает Добавляем в проект модуль UIExt.IconicFont.pas Добавляем в проект модули описания шрифтов, которые будут использоваться (см. ниже) Описываем символ, который будет использоваться в качестве иконки (см. ниже) В обработчике события OnApplyStyleLookup кнопки пишем одну строчку - TIconicFont.ApplyButtonStyle(TCustomButton(Sender)); Модули описания шрифтов UIExt.IconicFont.FA.pas - Font Awesome UIExt.IconicFont.IM.pas - IcoMoon UIExt.IconicFont.IML.pas - IcoMoon Lindua UIExt.IconicFont.IMLN.pas - IcoMoon Linear UIExt.IconicFont.MDI.pas - Material Design Icons UIExt.IconicFont.WHHG.pas - WebHostingHub Glyphs Описание символа Для описания символа используется свойство StyleName (не знаю как остальные - лично я его нигде не использую). Само описание - это строка в определённом формате: [Короткое имя шрифта];[код символа];[размер шрифта];[цвет] 2 первых поля - обязательны. Короткое имя шрифта можно увидеть в его модуле описания (TIconicFont.Short) Примеры можно увидеть на скриншотах выше (текст над кнопками). Ну и напоследок - небольшая демка IconicFontDemo.zip
- 14 ответов
-
Добрый день! Столкнулся с проблемой вывода текста разного размера по одной линии. Не получается использовать BaseLine доступную для Firemonkey. Baseline - воображаемая прямая линия, проходящая по нижнему краю прямых знаков без учёта свисаний и нижних выносных элементов. В строке символы текста стоят на базовой линии, а нижние выносные элементы текста «свисают» с неё. Из описанного выше ясно, что выводимые символы должны лежать на это линии, но в реале как то все некорректно выводится. Сделал два примера VCL (черный фонт) и FireMonkey(черный полупрозрачный фонт), оказалось, что вывод текста осуществляется по разному, при одном и том же значении размера шрифта. Базовая линия в обоих примерах 356. Совмещаем отображение символов: GlyphsEqual.png Символы совпали, но базовая линия смещена. Совмещаем базовую линию: PosEqual.png Базовая линия совпала, как и верхний край контролов, а вот текст (серый) значительно ниже. А теперь собственно вопрос вопрос, где ошибка? Как рассчитать базовую линию для FMX? P.S. Про attributes у TTextLayout знаю. BaseLine.rar