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

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

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

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

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

Тип контента


Форумы

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

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Защита от ботов


Город


Интересы

  1. Добрый день. Как програмно прокрутить TListBox на последний итем? TListBoxItem *logItem = new TListBoxItem(Application); logItem->Parent = cbLog; logItem->Name = "item" + IntToStr(itemIndex); logItem->Text = Now().FormatString("dd:mm:yy") + " : " + text; ; logItem->ImageIndex = ImageIndex; logItem->TextSettings->WordWrap = true; cbLog->ItemIndex = cbLog->Items->Count - 1; cbLog->ScrollToItem(logItem); последние две строки, по идее должны прокрутить на последний елемент списка, но последний елемент выделяется а прокрутка в начале списка
  2. Недавно решил написать небольшое приложение под андроид, которое будет в удобном виде показывать расписание моего ВУЗа (они нам передают 20 летний привет в виде экселя), ну и задно изучить FMX. Написал за пару дней парсер, все более менее работает. Встал вопрос - какими компонентами все это удобно и красиво отобразить? Перечитал кучу инфы по стандартным компонентам и, кажется, они мне не подойдут Для того чтобы было понятно, чего именно я хочу - набросал схему. Границы для наглядности. Каким компонентом это можно реализовать? Если все-таки коробочные тоже годятся, то ткните лицом куда читать :) Заранее спасибо.
  3. Добрый день, форумчане! Столкнулся со следующей задачей: Имеется TListBox с 32 итемами, задаются в DesignTime. В некоторых ситуациях требуется убрать половину, оставить только первые 16 итемов. Я делаю лишние невидимыми, но при этом область прокрутки листбокса остается прежней и излишне большой. В связи с этим вопрос: можно ли как-то ограничить область прокрутки? XE7, Windows.
  4. Можно ли во время работы программы вызвать Items editor, который я вызываю во время дизайна приложения? Или свой лисапет создавать?
  5. Процедура добавления 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 меню прикрутил в дизайне.
  6. Хочу реализовать прокрутку фото с помощью TListBox. Пока что в дизайне добавил пару Item и кинул на них TImageViewer, ну и картинку туда вставил. В свойстве TListStyle указал Horizontal. На Windows не листается мышкой влево/вправо, но есть хотя бы полоса прокрутки внизу. На андроид-устройстве и не листается, и полосы прокрутки нет вообще. Это связано с этим вопросом http://fire-monkey.ru/topic/4301-выводотображение-нескольких-картинок-на-форме
  7. x11

    TListBox.ListStyle

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

    TEdit and TControlType::Platform

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

    TListBox vs TVertScrollBox

    Что лучше в плане производительности использовать из этих компонентов для Android и iOS? Мне показалось что TlistBox как то дольше создается и грузится (я использую фрэймы (TFrame), которые создаются в RunTime, но сделаны они в Design Time) На компоненте будут лежать Editbox 2x, лэйблы, Tmemo, DateEdit, TimeEdit. TListBox удобен тем что (я так понимаю) он автоматом подстроит визуальный стиль заголовков и пунктов под текущую систему (fix me?). А вот TScrollBar это не сделает. Кстати, если использовать этот компонент, скроллбар, как отделить пункты рамкой (горизонтальной чертой?). Может есть какой то межплатформенный TBorder, который отображается в нужной стиле? А если использовать TLine то какого цвета его делать (DarkGray?), кто нибудь знает? Спасибо.
  10. Как сделать разделители между итемами. Как на картинке.
  11. Привет друзья! Возникла странная ситуация при работе с 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? А именно - список заполнился, выполнилась отрисовка и можно прокручивать.
  12. Есть один листбокс..) В общем парился я парился, так и не понял как запилить стиль по человечески для итемов в боксе и нашел кнопку Edit default Style. Нашел куда впилить TimageViewer и поставил ему свойство client. Все бы ничего, да вот размер итемов не статичен, а картинка не растягивается, к тому же pngшная картинка не отделяется от фона. Подскажите, как картинку растягивать в зависимости от длины и ширины итемов листбокса и как правильно юзать pngшные картинки (что бы они сохраняли прозрачность). Может я вообще не туда рою и нужно другими способами вставлять картинки под каждый item? Видел много гайдов под listview, но к сожалению мне нужно именно для бокса.. ---- п.с. что бы было проще: как нарисовать ровную плашку позади каждого элемента листбокс?
  13. Поставил несколько TCheckBox на TListBox и на 4 инчевой мобилке очень плохо реагируют на нажатия пальцами. В лучшем случае требуется пару раз тапнуть а то и пять-шесть. Причём пока никакого кода не вводил. По умолчанию у всех стоит HitTest = True.
  14. Здравствуйте! Как пользоваться AniIndicator?? У меня его не видно, хотя я проверил свойство Visible=true ... он все равно не видимый!
  15. Привет, как можно из listbox сделать список панелек для iOS и Android? Прилагается фото панелей.
  16. Доброго времени суток! Возникла проблема с обновлением Itemом. Суть проблемы в текстовом варианте Чуток изменил стиль TListBox'a, listboxstyle, сам добавил прозрачность, т.к. не понравился родной стиль из-за отступов по краям. Затем добавляю айтемы со стилем listboxitembottomdetail (по памяти) здесь все прекрасно, проблема в том что при нажатии на айтем должна показываться картинка у выбранного айтема, но она показывается только если проскролить айтем за пределы видимости и снова вернуть. Какой метод вызвать чтобы обновить отрисовку? Пробовал и применение стиля айтему и всему ListBoxy и Repaint и RecalcContent ничего не помогло Видео прилагаю, смотрите на 16 айтем https://youtu.be/HNmDq079Ywg
  17. (почему-то нет ветки в андроид по производительности, поэтому написал сюда) Пробую писать под FM на Андрод и столкнулся с жуткими тормозами при прокрутке в TListBox. Динамически создаю TListBoxitem'ы и закидываю в каждый итем 4 Tlabel'я разных цветов методом MyListBoxItem.AddObject(MyLabel); И так для каждого Итема. Если список из 5-10 итемов прокручивается еще куда ни шло. Но список из 25 итемов и более просто дико тормозит при прокрутке. Подскажите, может быть я что-то не так делаю. Какие параметры или настройки могут влиять на производительность листбокса в частности, и на производительность FM для Андроид в общем? Заранее спасибо.
  18. Столкнулся с такой ситуацией. 1) Заполняем TListBox; 2) Пользуемся поиском через TSearchBox; 3) Очищаем TSearchBox; 4) При попытке добавить любой новый элемент в TListBox, всегда возвращается индекс добавленного элемента "-1". Накидал пример для экспериментов, упростив до безобразия (прикрепляю). Как восстановить возможность получать индекс добавленного элемента? Project1.zip
  19. Обнаружилось странное поведение встроенного поиска у ListBox'a. В XE5 проблема была с регистром, в XE6 такой проблемы нет, а вот в XE7 поведение поиска стало не предсказуемым, описать которое сложно. В некоторых строках чувствительный к регистру, в некоторых нет, в некоторых вводишь даже с нужным регистром, показывает что не найдено. Есть ли у кого-нибудь подобная проблема, или это частный случай?
  20. Доброго времени суток. Подскажите возможно ли один и тот же объект расположить в двух Листбоксах ? я так понял что меняется свойство parent у итема и он исчезает в одном и появляется в другом как бы не охота дублировать объект
  21. Здравствуйте! Необходимо реализовать сортировку пользовательских итемов 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
  22. Привет. А подскажите пожалуйста какое событие использовать при прокручивании списка в самый конец. Чтобы как вот в популярных приложениях при прокручивании ленты вниз добавлять новые item'ы. С созданием aniindicatora я наверное разберусь, но событие никак не могу понять какое надо использовать, уже перепробовал несколько, пока никак.
  23. Здравствуйте. По статье Ярослава Бровина реализовывал кастомный ListBoxItem. Но тут непонятная ситуация возникла. Я пишу приложение под android/iOS. В версии для windows в том же примере элементы листбокса выделяются "синим" при клике, а в моем случае они остаются белыми. Я еще не очень разобрался со стилями приложения вообще. Как бы StyleBook включен только для ЛистБокса, там все нормально как мне нужно отображается. Вот проблема с выделением. Тестировал и как для win32(активировал в Project Manager'е) и для Android непосредственно на смартфоне. Подскажите пожалуйста как быть. Я полагаю, что дело именно в стилях, но инфы никакой я по этому поводу не нашел. Заранее спасибо. sample.zip
  24. Здравствуйте ! Во вложении - тестовое приложение, иллюстрирующее суть проблемы. Есть пользовательский элемент списка TCustomListBoxItem = class(TListBoxItem) , содержащий: Изображение, Наименование даты Текстовое описание непостоянной длинны. В зависимости от длинны описания меняется высота TCustomListBoxItem. Метод TCustomListBoxItem.SyncChildSizes вычисляет высоту элемента списка в зависимости от содержимого и вызывается из обработчиков TCustomListBoxItem.OnResize и TCustomListBoxItem.OnApplyStyleLookup. Форма приложения содержит две вкладки, вторая из которых содержит сам список и две кнопки для его пополнения и очистки. Первая вкладка содержит только две кнопки, наследующие обработчики кнопок второй вкладки. Суть проблемы Если нажать кнопку "Добавить" на первой вкладке и активировать список на второй вкладке - его элементы (TCustomListBoxItem) будут "навалены" один на другой. Если нажать кнопку "Добавить" на второй вкладке, которая содержит сам список - элементы в нем отображаются корректно. Скриншоты во вложении. Прошу помочь разобраться. List Test.zip
  25. Здравствуйте ! TListBox заполняется посредством добавления к нему TListBoxItem: LBI := TListBoxItem.Create(ListBox); ... ListBox.AddObject(LBI); Как из ListBox извлечь его ListBoxItem, находящийся на i-позиции ? К сожалению, свойства Objects TListBox не имеет, как это было в стандартном делфи.
×
×
  • Создать...