Поиск сообщества
Показаны результаты для тегов 'TComboBox'.
Найдено: 5 результатов
-
Столкнулся с такой проблемой: Есть форма с TComboBox. Стиль форме (один из тех, который поставляется из коробки) задаю в run-time: procedure TFormEditorRoomAttribute.FormCreate(Sender: TObject); begin inherited; self.StyleBook := uAccommodationInventory.ReferenceAccommodationInventoryForm.StyleBook; end; Необходимо, чтобы TComboBox отображал items c bitmap. Заполняю TComboBox.ListBox так же в run-time (TListBoxItem.StyleLookup := 'listboxitemleftdetail'): var I: integer; FListBoxItem: TListBoxItem; begin //cbPicture: TCombobox; Self.cbPicture.BeginUpdate; Self.FRoomAttributePictures := ConnectionModule.DSServerModuleAccommodationClient.GetRoomAttributePictures; for I := 0 to Self.FRoomAttributePictures.Count - 1 do begin FListBoxItem := TListBoxItem.Create(Self.cbPicture); FListBoxItem.TagObject:= Self.FRoomAttributePictures[i]; FListBoxItem.ItemData.Text := Self.FRoomAttributePictures[i].ID.ToString; FListBoxItem.ItemData.Bitmap := Self.FRoomAttributePictures[i].GetBitmap; FListBoxItem.StyleLookup := 'listboxitemleftdetail'; Self.cbPicture.AddObject(FListBoxItem); end; Self.cbPicture.EndUpdate; end; TComboBox.DropDownKind выставляю в "Custom". Вроде как всё готово. Но получается вот такая картина. Создаю и отображаю форму, bitmap в TCombobox отображен: Раскрываю список, bitmaps так же отображаются: Но, как только выбираю один из items, происходит следующее: выбранный item не отображается, вообще! Долго ли, мало ли копался в исходниках TCombobox... В общем нашел некоторое решение данной проблемы. На событие TComboBox.OnClosePopup повесил код: begin //cbPicture: TCombobox; self.cbPicture.Selected.NeedStyleLookup; self.cbPicture.NeedStyleLookup; self.ApplyStyleLookup; end; Результат, выбранный item отображается в TCombobox: Теперь вопрос: Так и должно отрабатывать? Или что-то делаю не так?! Если что-то делаю не так, то как надо делать?
-
Ребята, как правильно настроить или реализовать поиск в TCombobox (данные которого связаны через livebinding c БД) при помощи TSearchBox?
-
На форму кладём TTabControl с двумя табами. На одном из них помещаем ComboBox. В процедуре формируем item'ы. Примерно так: procedure TForm1.FormCombo(aCombo: TComboBox); var Item: TListBoxItem; i: integer; begin aCombo.BeginUpdate; aCombo.Items.Clear; for I := 0 to 2 do begin Item := TListBoxItem.Create(nil); Item.Text := 'Item '+IntToStr(I); Item.StyleLookup:= 'listboxitemstyle'; Item.Parent := aCombo; end; aCombo.EndUpdate; end; Вызываем при создании формы: procedure TForm1.FormCreate(Sender: TObject); begin FormCombo(ComboBox1); ComboBox1.ItemIndex:= 0; end; и пересоздаем список item'ов после переключения табов. procedure TForm1.TabControl1Change(Sender: TObject); begin if TabControl1.TabIndex= 0 then begin FormCombo(ComboBox1); ComboBox1.ItemIndex:= 0; end; end; Естественно, устанавливаем активный item, после того как их список сформирован. В XE7 всё работает как часы. В XE8 - артефакт. После переключения табов активный Item - нулевой, но ComboBox не отображает его значение. Визуально это выглядит так, будто ItemIndex = -1. Проекты для XE7 и XE8 прикрепил. https://yadi.sk/d/4FGvgF-ti5dWz
-
Есть класс: class TMyObjectInt : public TObject { private: int Value; public: __fastcall TMyObjectInt (int _Value); __fastcall ~TMyObjectInt(); }; Есть ComboBox: for (int i = 1; i <= 10; i++) cbxItems->Items->AddObject(IntToStr(i), new TMyObjectInt(i)); Почему при вызове ->Clear() не вызываются деструкторы для TObject'ов? Казалось бы базовый TObject замечательно для этого подходит, даже деструктор у него виртуальным объявлен. Я могу написать свою функцию очистки, но это потенциально приводит к ошибкам, особенно если я отдаю указатель на ComboBox за пределы своей формы. Кстати, так же ведут себя и многие другие контролы, да и в VCL было так же.
-
Не отображаются кастомные item's при разворачивании списка TComboBox. Нет отображения конкретно в выпадающем списке, в самом TComboBox всё ок. Пробовал перерисовку во время события onPopup, создание на различных родителях и т.д. - не помогло. Подскажите в чем может быть дело ? Спасибо. Чистый проект прилагается: RAD Studio XE6 CustomComboBox.zip
- 1 ответ
-
- TListBox
- TListBoxItem
-
(и ещё 2 )
C тегом: