У меня есть пользовательский элемент управления Firemonkey, который расширяет TEdit
который динамически создается на форме. Я пытаюсь установить размер шрифта, когда он создается с помощью:
Search->Font->Size = 15;
Тем не менее, шрифт остается неизменным на элементе управления.
У меня есть еще один элемент управления того же типа, который уже находится в форме, который я могу изменить программно размером шрифта. Я заметил с этим контролем, что если Size
настройка имеет значение false в StyledSettings
свойства я могу изменить шрифт, тогда как если Size
Значение true, я не могу изменить размер шрифта.
Поэтому, когда я создаю свой пользовательский элемент управления, я пытаюсь программно установить Size
свойство ложно, однако я не могу понять, как это сделать.
Я пытался:
Search->StyledSettings.Size = false;
а также
Search->StyledSettings = ListBox->StyledSettings - [TStyledSetting.ssSize];
ни один из которых даже не скомпилируется. Как я могу убедиться, что это свойство удалено из моего пользовательского элемента управления во время выполнения? Или есть другой способ, которым я должен установить его шрифт?
Тем не менее, шрифт остается неизменным на элементе управления.
У меня есть еще один элемент управления того же типа, который уже находится в форме, который я могу изменить программно размером шрифта. С этим элементом управления я заметил, что если для параметра «Размер» задано значение «false» в свойствах StyledSettings, я могу изменить шрифт, а если для параметра «Размер» задано значение «истина», я не могу изменить размер шрифта.
Это документированное поведение:
Использование свойства StyledSettings
При изменении свойств представления текста объектов типа TTextSettings помните, что при изменении значения свойства (свойства TextSettings.Font.Size в предыдущем примере) фактическое изменение представления объекта происходит только в том случае, если ITextSettings Свойство .StyledSettings не содержит константу TStyledSetting.Size. «Связь между константами TStyledSetting и свойствами TTextSettingsmsgstr «таблица показывает, какие константы TStyledSetting управляют обработкой свойств текстового представления TTextSettings.
Помните, что при изменении значения свойства (например, свойства TextSettings.FontColor) фактическое изменение представления элемента управления происходит только в том случае, если свойство StyledSettings не содержит константу TStyledSetting.FontColor. В следующей таблице показано, какие константы TStyledSetting управляют обработкой каких свойств представления текста TTextSettings.
Связь между константами TStyledSetting и свойствами TTextSettings
TStyledSetting Зависимый TTextSettings Значение Постоянные свойства Семейство TFont.Family Название шрифта. Размер TFont.Size Размер шрифта. Стиль TFont.Style Стиль шрифта (курсив, полужирный). FontColor FontColor Цвет шрифта. Другое HorzAlign, VertAlign, Как выровнять и показать текст. Обрезка и WordWrap.
Поэтому, когда я создаю свой пользовательский элемент управления, я пытаюсь программно установить для свойства Size значение false, однако я не могу понять, как это сделать.
Правильный синтаксис в C ++:
Search->StyledSettings = Search->StyledSettings >> TStyledSetting::Size;