Поиск сообщества

Показаны результаты для тегов 'TListBox'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • API интернет сервисов
    • ВКонтакте API
    • Google Maps API
    • Yandex деньги
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума
    • Правила форума
    • Нарушения правил форума
    • Предложения об организации форума
    • Проблемы
    • Функции форума
  • Видеокурсы
    • Основная информация
    • Курсы
    • Предложения и голосования за новые курсы
    • Вопросы

Категории

  • Курсы

Найдено: 34 результата

  1. Можно ли во время работы программы вызвать Items editor, который я вызываю во время дизайна приложения? Или свой лисапет создавать?
  2. Не всплывает меню у TListBoxItem

    Процедура добавления Item procedure TfmEditObject.AddPhoto(Image: TBitmap); Var item: TListBoxItem; imageV: TImageViewer; begin item := TListBoxItem.Create(lbPhotos); item.parent := lbPhotos; item.text := ''; item.Width := lbPhotos.Width; item.PopupMenu := PopupMenu1; imageV := TImageViewer.Create(lbPhotos); imageV.HitTest := False; imageV.Parent := item; imageV.Align := TAlignLayout.Client; imageV.Bitmap.Assign(image); item.SetFocus; end; У popupmenu есть 2 пункта, привязанных к Action. Gestures срабатывает на "long tap" procedure TfmEditObject.lbPhotosGesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean); var c: IControl; ListBox: TListBox; lbxPoint: TPointF; ListBoxItem: TListBoxItem; begin if EventInfo.GestureID = igiLongTap then if (sender is TListBox) and assigned(TListBox(sender).Selected) then begin c := ObjectAtPoint(EventInfo.Location); if Assigned(c) then if Assigned(c.GetObject) then if c.GetObject is TListBox then begin ListBox := TListBox(c.GetObject); lbxPoint := ListBox.AbsoluteToLocal(EventInfo.Location); ListBoxItem := ListBox.ItemByPoint(lbxPoint.X, lbxPoint.Y); if Assigned(ListBoxItem) then PopupMenu1.Popup(lbxPoint.X, lbxPoint.Y); Handled := True; end; end; end; Ставил точку останова, видно, что до строки "PopupMenu1.Popup(lbxPoint.X, lbxPoint.Y);" доходит. Если программа работает на Windows, то меню отображается по правой кнопке мышки, а на андроид устройстве меню не отображается по Long Tap. Как видно из кода, то меню прикручивается к ListBoxItem, а непосредственно к TListBox меню прикрутил в дизайне.
  3. Хочу реализовать прокрутку фото с помощью TListBox. Пока что в дизайне добавил пару Item и кинул на них TImageViewer, ну и картинку туда вставил. В свойстве TListStyle указал Horizontal. На Windows не листается мышкой влево/вправо, но есть хотя бы полоса прокрутки внизу. На андроид-устройстве и не листается, и полосы прокрутки нет вообще. Это связано с этим вопросом http://fire-monkey.ru/topic/4301-выводотображение-нескольких-картинок-на-форме
  4. TListBox.ListStyle

    В свойстве TListBox.ListStyle установил значение Horizontal. Список поменял вид. Теперь ставлю Vertical, но ничего не происходит. Как вернуть стиль списка обратно к вертикальному?
  5. TEdit and TControlType::Platform

    Добрый день, возникла такая проблемка: при добавлении в ListBoxItem компонента TEdit если поставить ему TControlType::Platform он вылазит за пределы ListBox но при Styled все норм, кто нибудь сталкивался и как с этим бороться?
  6. TListBox vs TVertScrollBox

    Что лучше в плане производительности использовать из этих компонентов для Android и iOS? Мне показалось что TlistBox как то дольше создается и грузится (я использую фрэймы (TFrame), которые создаются в RunTime, но сделаны они в Design Time) На компоненте будут лежать Editbox 2x, лэйблы, Tmemo, DateEdit, TimeEdit. TListBox удобен тем что (я так понимаю) он автоматом подстроит визуальный стиль заголовков и пунктов под текущую систему (fix me?). А вот TScrollBar это не сделает. Кстати, если использовать этот компонент, скроллбар, как отделить пункты рамкой (горизонтальной чертой?). Может есть какой то межплатформенный TBorder, который отображается в нужной стиле? А если использовать TLine то какого цвета его делать (DarkGray?), кто нибудь знает? Спасибо.
  7. Как сделать разделители между итемами

    Как сделать разделители между итемами. Как на картинке.
  8. Привет друзья! Возникла странная ситуация при работе с TListBox. А именно - при попытке прокрутки списка в его конец. Условно: - есть список итемов (сообщения чата); - загрузка сообщений происходит в процедуре "синхронизированной" с главным потоком и заключена в TListBox(listbox1).BeginUpdate и TListBox(listbox1).EndUpdate; - все замечательно грузится НО! После загрузки Итемов требуется прокрутить список в его конец. И вот тут начинаются "приколы". Как только не пытаться прокрутить список в его конец (разные способы, см.ниже) - всегда получается, что список прокручивается до конца, но немного "откатывается" вверх. Размер его автоматического скролла "обратно" зависит от количества Item в TListBox! Чем больше кол-во Item - тем больше назад откатывается скролл. Способы прокрутки в конец списка - значения не имеют. Всегда одно и то же. procedure TChatListBoxEx.ScrollToLast; var Item: TListBoxItem; begin // ВАРИАНТ 1 Item := ListItems[Items.Count - 1]; if Assigned(Item) then ScrollToItem(Item); // ВАРИАНТ 2 ViewportPosition:= TPointF.Create(0, Item.ParentedRect.Top); // ВАРИАНТ 3 ScrollBy(0, ViewportPosition.Y - Item.ParentedRect.Top); // ВАРИАНТ 4 BeginUpdate; try ItemIndex := Items.Count - 1; finally EndUpdate; end; end; Предупреждая ваши вопросы, сразу скажу - пробовал и другие варианты, просто перечислять не стал все. Пробовал и эмитировать нажатие клавиши END при "активном" списке. Все синхронизируется, типа TThread.Synchronize(nil, listbox1.ScrollToLast); Эффект всегда один и тот же... НО! Если загрузить список, независимо от кол-ва элементов списка, а потом в программе вызвать ScrollToLast, подождав некоторое время, а не сразу, например по нажатию на какую-нибудь кнопку, то список прокрутится в конец НОРМАЛЬНО! Будьте добры - кто сталкивался с подобной ситуацией, или кто что-то может посоветовать? Или наши Гуру смогут ответить на этот вопрос? Видео, чтобы было понятнее что происходит, прилагаю. RAD Studio 10.1 Berlin (эффект наблюдается на всех версиях Windows - XP, Vista, 7, 8, 10. На других ОС пока не пробовал...) Заранее благодарен! P.S. Возник вопрос (как вариант решения проблемы) - как узнать, что произошло событие окончания отрисовки TListBox? А именно - список заполнился, выполнилась отрисовка и можно прокручивать.
  9. Есть один листбокс..) В общем парился я парился, так и не понял как запилить стиль по человечески для итемов в боксе и нашел кнопку Edit default Style. Нашел куда впилить TimageViewer и поставил ему свойство client. Все бы ничего, да вот размер итемов не статичен, а картинка не растягивается, к тому же pngшная картинка не отделяется от фона. Подскажите, как картинку растягивать в зависимости от длины и ширины итемов листбокса и как правильно юзать pngшные картинки (что бы они сохраняли прозрачность). Может я вообще не туда рою и нужно другими способами вставлять картинки под каждый item? Видел много гайдов под listview, но к сожалению мне нужно именно для бокса.. ---- п.с. что бы было проще: как нарисовать ровную плашку позади каждого элемента листбокс?
  10. TCheckBox плохо реагируют на нажатия пальцами

    Поставил несколько TCheckBox на TListBox и на 4 инчевой мобилке очень плохо реагируют на нажатия пальцами. В лучшем случае требуется пару раз тапнуть а то и пять-шесть. Причём пока никакого кода не вводил. По умолчанию у всех стоит HitTest = True.
  11. Здравствуйте! Как пользоваться AniIndicator?? У меня его не видно, хотя я проверил свойство Visible=true ... он все равно не видимый!
  12. Привет, как можно из listbox сделать список панелек для iOS и Android? Прилагается фото панелей.
  13. Проблема с обновлением картинки в Item'e

    Доброго времени суток! Возникла проблема с обновлением Itemом. Суть проблемы в текстовом варианте Чуток изменил стиль TListBox'a, listboxstyle, сам добавил прозрачность, т.к. не понравился родной стиль из-за отступов по краям. Затем добавляю айтемы со стилем listboxitembottomdetail (по памяти) здесь все прекрасно, проблема в том что при нажатии на айтем должна показываться картинка у выбранного айтема, но она показывается только если проскролить айтем за пределы видимости и снова вернуть. Какой метод вызвать чтобы обновить отрисовку? Пробовал и применение стиля айтему и всему ListBoxy и Repaint и RecalcContent ничего не помогло Видео прилагаю, смотрите на 16 айтем https://youtu.be/HNmDq079Ywg
  14. (почему-то нет ветки в андроид по производительности, поэтому написал сюда) Пробую писать под FM на Андрод и столкнулся с жуткими тормозами при прокрутке в TListBox. Динамически создаю TListBoxitem'ы и закидываю в каждый итем 4 Tlabel'я разных цветов методом MyListBoxItem.AddObject(MyLabel); И так для каждого Итема. Если список из 5-10 итемов прокручивается еще куда ни шло. Но список из 25 итемов и более просто дико тормозит при прокрутке. Подскажите, может быть я что-то не так делаю. Какие параметры или настройки могут влиять на производительность листбокса в частности, и на производительность FM для Андроид в общем? Заранее спасибо.
  15. Столкнулся с такой ситуацией. 1) Заполняем TListBox; 2) Пользуемся поиском через TSearchBox; 3) Очищаем TSearchBox; 4) При попытке добавить любой новый элемент в TListBox, всегда возвращается индекс добавленного элемента "-1". Накидал пример для экспериментов, упростив до безобразия (прикрепляю). Как восстановить возможность получать индекс добавленного элемента? Project1.zip
  16. Обнаружилось странное поведение встроенного поиска у ListBox'a. В XE5 проблема была с регистром, в XE6 такой проблемы нет, а вот в XE7 поведение поиска стало не предсказуемым, описать которое сложно. В некоторых строках чувствительный к регистру, в некоторых нет, в некоторых вводишь даже с нужным регистром, показывает что не найдено. Есть ли у кого-нибудь подобная проблема, или это частный случай?
  17. Доброго времени суток. Подскажите возможно ли один и тот же объект расположить в двух Листбоксах ? я так понял что меняется свойство parent у итема и он исчезает в одном и появляется в другом как бы не охота дублировать объект
  18. Здравствуйте! Необходимо реализовать сортировку пользовательских итемов TListBox в зависимости от значений их свойств. Во вложении тестовый пример сортировки по Item.Tag = Random(1000). Пользовательская функция сортировки: function TForm1.SortFunc(Item1, Item2: TFmxObject): Integer; begin if (Item1 as TListBoxItem).Tag > (Item2 as TListBoxItem).Tag then Result:=1; if (Item1 as TListBoxItem).Tag < (Item2 as TListBoxItem).Tag then Result:=-1; if (Item1 as TListBoxItem).Tag = (Item2 as TListBoxItem).Tag then Result:=0; end; Вызов сортировки: procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.BeginUpdate; ListBox1.Sort(SortFunc); ListBox1.EndUpdate; end; К сожалению, сортировка не работает - порядок следования итемов в списке не меняется. Прошу помочь ! ListSort.zip
  19. Привет. А подскажите пожалуйста какое событие использовать при прокручивании списка в самый конец. Чтобы как вот в популярных приложениях при прокручивании ленты вниз добавлять новые item'ы. С созданием aniindicatora я наверное разберусь, но событие никак не могу понять какое надо использовать, уже перепробовал несколько, пока никак.
  20. Здравствуйте. По статье Ярослава Бровина реализовывал кастомный ListBoxItem. Но тут непонятная ситуация возникла. Я пишу приложение под android/iOS. В версии для windows в том же примере элементы листбокса выделяются "синим" при клике, а в моем случае они остаются белыми. Я еще не очень разобрался со стилями приложения вообще. Как бы StyleBook включен только для ЛистБокса, там все нормально как мне нужно отображается. Вот проблема с выделением. Тестировал и как для win32(активировал в Project Manager'е) и для Android непосредственно на смартфоне. Подскажите пожалуйста как быть. Я полагаю, что дело именно в стилях, но инфы никакой я по этому поводу не нашел. Заранее спасибо. sample.zip
  21. Здравствуйте ! Во вложении - тестовое приложение, иллюстрирующее суть проблемы. Есть пользовательский элемент списка TCustomListBoxItem = class(TListBoxItem) , содержащий: Изображение, Наименование даты Текстовое описание непостоянной длинны. В зависимости от длинны описания меняется высота TCustomListBoxItem. Метод TCustomListBoxItem.SyncChildSizes вычисляет высоту элемента списка в зависимости от содержимого и вызывается из обработчиков TCustomListBoxItem.OnResize и TCustomListBoxItem.OnApplyStyleLookup. Форма приложения содержит две вкладки, вторая из которых содержит сам список и две кнопки для его пополнения и очистки. Первая вкладка содержит только две кнопки, наследующие обработчики кнопок второй вкладки. Суть проблемы Если нажать кнопку "Добавить" на первой вкладке и активировать список на второй вкладке - его элементы (TCustomListBoxItem) будут "навалены" один на другой. Если нажать кнопку "Добавить" на второй вкладке, которая содержит сам список - элементы в нем отображаются корректно. Скриншоты во вложении. Прошу помочь разобраться. List Test.zip
  22. Здравствуйте ! TListBox заполняется посредством добавления к нему TListBoxItem: LBI := TListBoxItem.Create(ListBox); ... ListBox.AddObject(LBI); Как из ListBox извлечь его ListBoxItem, находящийся на i-позиции ? К сожалению, свойства Objects TListBox не имеет, как это было в стандартном делфи.
  23. Как программно на С++ создаваемому TListBoxItem присвоить стиль, например, TMetropolisUIListBoxItem? void __fastcall TMainForm::Button4Click(TObject *Sender) { TListBoxItem * item; TTimeEdit * VideoTimeEdit; ListBox1->BeginUpdate(); int j = 0; for (int i = 0; i < 10; i++) { item = new TListBoxItem(ListBox1); item->Text = "Текст: " + IntToStr(i); item->Height = 44; item->ItemData->Detail = "Детальный текст: " + IntToStr(i); item->ItemData->Bitmap = ImageControl1->Bitmap; //тут bmp 44x44 VideoTimeEdit = new TTimeEdit(item); VideoTimeEdit->Parent = item; VideoTimeEdit->Position->X = 140; VideoTimeEdit->Position->Y = 10 ; VideoTimeEdit->TimeFormatKind = 1; ListBox1->AddObject(item); } ListBox1->EndUpdate(); }
  24. Здравствуйте ! В TStyleBook созданы стили для TLisboxItem и TListBox. При компилировании приложения для Win32 созданные стили видны, при компилировании приложения под Андроид стили заменяются на дефолтные. Как перенести пользовательские стили на Андроид - платформу? CustomStyle.zip
  25. Здравствуйте. Разрабатываю проект под iOS на Delphi XE5. В любом нативном приложении для iOS любой список можно прокрутить в начало тапнув по системным часам. Как добиться такого же эффекта в Delphi для TListBox? Спасибо.