Steepe_Hare Опубликовано 24 декабря, 2016 Поделиться Опубликовано 24 декабря, 2016 Почему если создаешь в ран-тайме TListboxItem, то текстовые свойства не меняются? Вложил пример. Заранее спасибо. procedure TForm1.Button1Click(Sender: TObject); var ListBoxItem: TListboxItem; J: Integer; begin ListBox1.BeginUpdate; try for J := 1 to 5 do begin ListBoxItem := TListboxItem.Create(ListBox1); ListBoxItem.TextSettings.FontColor := TAlphaColors.Red; ListBoxItem.TextSettings.Font.Style := [TFontStyle.fsBold]; ListBoxItem.Text := 'Item' + IntToStr(J); ListBox1.AddObject(ListBoxItem); end; finally ListBox1.EndUpdate; end; end; 1.zip Цитата Ссылка на комментарий
0 egorea1999 Опубликовано 24 декабря, 2016 Поделиться Опубликовано 24 декабря, 2016 ListBoxItem.StyledSettings := []; Steepe_Hare 1 Цитата Ссылка на комментарий
0 Steepe_Hare Опубликовано 24 декабря, 2016 Автор Поделиться Опубликовано 24 декабря, 2016 21 минуту назад, egorea1999 сказал: ListBoxItem.StyledSettings := []; Спасибо, помогло. Только непонятно зачем так нужно делать Цитата Ссылка на комментарий
0 egorea1999 Опубликовано 24 декабря, 2016 Поделиться Опубликовано 24 декабря, 2016 Только что, Steepe_Hare сказал: Спасибо, помогло. Только непонятно зачем так нужно делать Берутся стандартные свойства со стиля, для того, чтобы их можно было перекрыть, нужно убрать нужные перечисления из множества, либо дополнить их. Steepe_Hare, Равиль Зарипов (ZuBy) и Kitty 3 Цитата Ссылка на комментарий
0 Steepe_Hare Опубликовано 24 декабря, 2016 Автор Поделиться Опубликовано 24 декабря, 2016 13 минут назад, egorea1999 сказал: Берутся стандартные свойства со стиля, для того, чтобы их можно было перекрыть, нужно убрать нужные перечисления из множества, либо дополнить их. А не подскажете, какое свойство отвечает за цвет выделенного ListBoxItem? Цитата Ссылка на комментарий
0 egorea1999 Опубликовано 24 декабря, 2016 Поделиться Опубликовано 24 декабря, 2016 (изменено) 15 минут назад, Steepe_Hare сказал: А не подскажете, какое свойство отвечает за цвет выделенного ListBoxItem? Выделенного? Вам нужно редактировать стиль TListBoxItem'a, чтобы настроить его вид. Изменено 24 декабря, 2016 пользователем egorea1999 Цитата Ссылка на комментарий
0 Steepe_Hare Опубликовано 24 декабря, 2016 Автор Поделиться Опубликовано 24 декабря, 2016 (изменено) Немного не то написал. Не цвет самого выделенного айтема, а цвет фона выделенного айтема. Наверное это больше к Listbox-у относится Изменено 24 декабря, 2016 пользователем Steepe_Hare Цитата Ссылка на комментарий
0 egorea1999 Опубликовано 24 декабря, 2016 Поделиться Опубликовано 24 декабря, 2016 (изменено) Сейчас попробую что-нибудь придумать. Изменено 24 декабря, 2016 пользователем egorea1999 Steepe_Hare 1 Цитата Ссылка на комментарий
0 egorea1999 Опубликовано 25 декабря, 2016 Поделиться Опубликовано 25 декабря, 2016 24 минуты назад, Steepe_Hare сказал: Наверное это больше к Listbox-у относится tmp.zip Так? Цитата Ссылка на комментарий
0 Steepe_Hare Опубликовано 25 декабря, 2016 Автор Поделиться Опубликовано 25 декабря, 2016 16 минут назад, egorea1999 сказал: tmp.zip Так? я извиняюсь, а что поменялось? как был цвет фона голубоватый, так и остался Цитата Ссылка на комментарий
0 egorea1999 Опубликовано 25 декабря, 2016 Поделиться Опубликовано 25 декабря, 2016 Только что, Steepe_Hare сказал: я извиняюсь, а что поменялось? как был цвет фона голубоватый, так и остался А какой вам нужен? Уточнили бы) Цитата Ссылка на комментарий
0 Steepe_Hare Опубликовано 25 декабря, 2016 Автор Поделиться Опубликовано 25 декабря, 2016 13 минут назад, egorea1999 сказал: А какой вам нужен? Уточнили бы) Произвольный. Я думал, как-то цвет можно поставить через свойство Цитата Ссылка на комментарий
0 egorea1999 Опубликовано 25 декабря, 2016 Поделиться Опубликовано 25 декабря, 2016 Только что, Steepe_Hare сказал: Произвольный. Я думал, как-то цвет можно поставить через свойство Да, тогда сейчас попробую переделать мой пример, чтобы было виднее. Цитата Ссылка на комментарий
0 egorea1999 Опубликовано 25 декабря, 2016 Поделиться Опубликовано 25 декабря, 2016 (изменено) tmp.zip StyleBook1->TestListBoxItemStyle->background->SourceLink Было бы хорошо, если был TActiveTintedStyleObject (есть только TTintedStyleObject), можно было регулировать цвет как угодно .. Изменено 25 декабря, 2016 пользователем egorea1999 Steepe_Hare 1 Цитата Ссылка на комментарий
0 Steepe_Hare Опубликовано 25 декабря, 2016 Автор Поделиться Опубликовано 25 декабря, 2016 извиняюсь, что не врубаюсь) но у меня при двойном щелчке на StyleBook только StyleContainer Цитата Ссылка на комментарий
0 egorea1999 Опубликовано 25 декабря, 2016 Поделиться Опубликовано 25 декабря, 2016 23 минуты назад, Steepe_Hare сказал: извиняюсь, что не врубаюсь) но у меня при двойном щелчке на StyleBook только StyleContainer там все есть, разверни его Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 25 декабря, 2016 Модераторы Поделиться Опубликовано 25 декабря, 2016 не смотрел исходник, но уже на скрине видно что стиль сделан под Platform: Windows 10 Desktop если вы переключитесь на андроид например или ваша ос не win 10, StyleBook будет пустой общие элементы которые не хотите завязывать на платформы, нужно делать под Platform: Default egorea1999 и Steepe_Hare 2 Цитата Ссылка на комментарий
0 Steepe_Hare Опубликовано 25 декабря, 2016 Автор Поделиться Опубликовано 25 декабря, 2016 Абсолютно верно! У меня Windows 7 Цитата Ссылка на комментарий
Вопрос
Steepe_Hare
Почему если создаешь в ран-тайме TListboxItem, то текстовые свойства не меняются? Вложил пример. Заранее спасибо.
procedure TForm1.Button1Click(Sender: TObject);
var
ListBoxItem: TListboxItem;
J: Integer;
begin
ListBox1.BeginUpdate;
try
for J := 1 to 5 do
begin
ListBoxItem := TListboxItem.Create(ListBox1);
ListBoxItem.TextSettings.FontColor := TAlphaColors.Red;
ListBoxItem.TextSettings.Font.Style := [TFontStyle.fsBold];
ListBoxItem.Text := 'Item' + IntToStr(J);
ListBox1.AddObject(ListBoxItem);
end;
finally
ListBox1.EndUpdate;
end;
end;
1.zip
Ссылка на комментарий
17 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.