Перейти к содержанию
Fire Monkey от А до Я
  • 0

При наведении на айтем меняется цвет текста и цвет фона выделенного айтема


Winexcel

Вопрос

Здравствуйте, стилизую TComboBox, хочу понять как сделать сабж через стили. И хотелось бы ещё получить ответ почему:
в ComboBox при наведении на любой айтем подстветка используется от ListBoxItemStyle - > Selection из стилей.

Изменено пользователем Winexcel
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Понял я вот что, в popup окне которое всплывает под комбобоксом находится ListBox, поэтому он и берет стиль от ListBoxStyle.
Вопрос следующий: можно ли как-то задать свой стиль для всплывающего ListBox который используется вместе с компонентом TComboBox?

Изменено пользователем Winexcel
Ссылка на комментарий
  • 0
27 минут назад, Равиль Зарипов (ZuBy) сказал:

да можно получить ListBox и его элементы и присвоить нужные стили

А можно пример как вообще получить доступ к всплывающему ListBox? Или нужно сам комбобокс переписывать?

Ссылка на комментарий
  • 0
  • Модераторы
3 часа назад, Winexcel сказал:

А можно пример как вообще получить доступ к всплывающему ListBox? Или нужно сам комбобокс переписывать?

 

Ссылка на комментарий
  • 0
В 30.06.2017 в 09:38, Равиль Зарипов (ZuBy) сказал:

 

Добрый день! :)
Пробую присвоить стиль всем Item так:
 

  List:=TStringList.Create;
  List.Add('Test1');
  List.Add('Test2');
  List.Add('Test3');
  for I := 0 to List.Count-1 do
  begin
    Item:=TListBoxItem.Create(nil);
    Item.Text:=List[i];
    Combo.ListBox.AddObject(Item); 
    Item.StyleLookup:='ListBoxItemStyle2';
    Item.NeedStyleLookup;
  end;
  List.Clear;
  List.Free;

Но все равно по умолчанию применяется стиль ListBoxItemStyle, что нужно сделать чтобы применить стиль?

Ссылка на комментарий
  • 0
В 10.09.2017 в 19:11, Winexcel сказал:

Вот такой вариант тоже не сработал:


procedure TFormMain.ComboPopup(Sender: TObject);
begin
  Combo.ListBox.DefaultItemStyles.ItemStyle:='ListBoxItemStyle2';
end;

 

Может так сработает:
procedure TFormMain.ComboPopup(Sender: TObject);
begin
  Combo.ListBox.DefaultItemStyles.ItemStyle := 'ListBoxItemStyle2';
  Combo.ListBox.NeedStyleLookup;
  Combo.ListBox.ApplyStyleLookup;
end;

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...