Изменить фон TTextCell в TGrid Firemonkey
Я пытаюсь создать Firemonkey TGrid, который будет показывать значения с изменяющимися фоновыми цветами в зависимости от значения, но я не могу понять, как работают новые стили в Firemonkey.
Я следовал совету и структуре Firemonkey Grid Control - стилизации ячейки на основе значения (с помощью вызова функции OnGetValue) и создал собственную производную TTextcel, но я все еще не могу найти, как изменить цвет фона.
Я старался FindStyleResource('background') as TRectangle
но это всегда возвращает ноль.
Кто-нибудь может заставить меня встать на правильный путь с этим?
[Дополнительная информация]
Сделал то, что предложил Майк Саттон, и он начал рассветать;) Поле "Правка" дало мне Layout-структуру, и мне удалось связать это с моим элементом управления TTExtCel. Таким образом, я смог изменить цвет переднего плана через foreground: BrushObject
,
Но фон делается с помощью TSubImage и TRectAnimation. Если я правильно понимаю, TSubimage принимает участие Windows7 Style.png
и отображает это в окне редактирования. Как я могу заменить TSubImage на TRectangle, чтобы я мог изменить BrushColor? Окна редактора структуры и свойств не позволяют мне добавлять какие-либо элементы стиля, кроме TLayout...
1 ответ
Я так понимаю, вы используете XE3. Стили в XE3 используют растровые изображения для фона и т. Д., Поэтому, даже если вы найдете компонент стиля "фон", он, вероятно, не будет TRectangle (поэтому вам следует избегать таких слепых приведений).
Вставьте TEdit в форму, щелкните правой кнопкой мыши и выберите Edit Custom Style. Затем вы увидите, что в стиле. Возможно, вам удастся изменить его в соответствии с вашими потребностями, или вам, возможно, придется полностью переработать его (возможно, для использования собственного растрового изображения, возможно, чтобы вернуться к прямоугольникам). Затем вы можете установить для каждого из своих ячеек свойства StyleLookup, чтобы использовать его, или установить для стилей StyleName значение TextCellStyle, чтобы оно автоматически подбиралось для каждого TTextCell.
[Дополнительная информация] Чтобы добавить объект в редактор стилей, перетащите его из палитры инструментов на панель структуры (в верхнем левом углу экрана). Чтобы начать новый элемент, поместите его на верхний (корневой) элемент. Затем вы можете установить его StyleName, затем вам нужно дважды нажать Apply и Close, чтобы вернуться в редактор и ваши изменения вступили в силу (да, это плохо).
Вы можете перетаскивать вещи на панели структуры, чтобы повторно использовать элементы старого стиля.