Действительно, можно отображать значки или растровые изображения в сетке строк, в блоге Monkey Styler есть пример того, как настроить отображение ячеек в сетке FMX.
http://monkeystyler.com/blog/entry/firemonkey-grid-basics-custom-cells-and-columns
Однако, думая о другой части вашего вопроса, вам придется создать стиль для отображения текста в разных шрифтах, поскольку FMX еще не имеет эквивалента Richtext или компонентов рендеринга HTML (я уверен, что последний появится, первый Я не уверен, что получу какое-то время!). У вас должен быть текстовый компонент в стиле для каждого размера / стиля шрифта и т. Д., Вам нужно будет назвать текстовые элементы (используя свойства привязки или имени стиля) и обработать настройку текстового содержимого, используя код в ongetvalue и onsetvalue события (я думаю, вы также можете использовать событие onapplystyle), чтобы отображать часть текста жирным шрифтом, а часть - нет.
Затем обработчик событий будет использовать либо привязку, которую проще установить, но, по моему опыту, она содержит ошибки;
mycell.binding['boldtext']:='sometext';
Или найдите элемент стиля по имени стиля с помощью findstyleresource;
tempobj:=mycell.findstyleresource('boldtext');
if tempobj is ttext then
ttext(tempobj).text='sometext';
Извините за плохой стиль кодирования, но вы получите общую идею (я надеюсь), если установите для autosize значение true для компонентов ttext в стиле и выровняете их по левому краю, вы получите - в основном - то, что вам нужно. Единственная проблема заключается в том, что результирующий текст выглядит не совсем гладко, потому что автоматическое изменение размера и выравнивание по левому краю на самом деле не дает вам такого же пространства между шрифтами, которое вы получили бы при отображении Richtext или HTML. Вы должны иметь возможность возиться с отступом (присвоение ему отрицательного числа для левого отступа должно позволить вам удалить любое лишнее пространство), но вы должны жить с тем, что это не совсем идеально по сравнению с правильным хинтингом и выравниванием шрифта.
person
Paul Foster
schedule
13.03.2012