Поиск сообщества
Показаны результаты для тегов 'ListBox'.
Найдено: 30 результатов
-
Уважаемые эксперты! Подобная тема уже была, но она немного не о том, о чем я хотел бы спросить. Есть список, и у элементов этого списка определены события OnClick. Если запустить его на мобильном устройстве, то прокрутка списка осуществляется проведением пальцем по списку. В момент отрыва пальца от экрана срабатывает событие OnClick на элементе списка, но я делаю скроллинг и подразумеваю пролистывание, а не нажатие. Как мне сделать поведение моего списка ожидаемым, чтобы при скроллинге не срабатывал OnClick? Архив проекта: TestListBox.rar
-
Есть код для копирования файлов: procedure TForm1.Timer2Timer(Sender: TObject); var FileIndex, FileName : String; I : Integer; begin randomize; FileIndex := IntToStr(random(5000)); for I := 0 to ListBox1.Items.Count-1 do begin FileIndex := IntToStr(StrToInt(FileIndex) + 1); FileName := FileIndex + Exp; TFile.Copy(ListBox1.Items[I], FileName); end; Timer2.Enabled := False; end; Когда я его запускаю, все работает, однако постоянно выскакивает сообщение об ошибке: specified file already exists, то есть копируемый файл уже существует. То есть, программа пытается каждый файл скопировать дважды. Вопрос: почему? С чем это связано и как от этого избавиться?
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
На ListBox-e несколько Item-ов, на них поставил Edit-ы. Когда я пытаюсь редактировать нижние Edit-ы, то клавиатура перекрывает их и не видно что набираешь (в моем примере это Номер дома). Как это исправить? И как сделать чтобы на клавиатуре вместо кнопки Enter была кнопка Готово, по нажатию на которую клава бы скрывалась?
-
Процедура Process заполняет Listbox: procedure TForm1.Process; Const N=100; var I,Index:Integer; Item:TListBoxItem; begin for I := 1 to N do begin Item:=TListBoxItem.Create(ListBox1); Item.Text:=IntToStr(I); ListBox1.AddObject(Item); end; ListBox1.ScrollToItem(Item); end; Нужно, чтобы после заполнения Listbox скролировал в конец. Если процедура запускается нажатием кнопки, то всё нормально. А если из события формы FormCreate, то Listbox заполняется, а скролирование не происходит. Где тут собака порылась ?
-
Всем привет. Иногда, особенно когда есть прокрутка списка можно случайно выделить несколько элементов ListBox-а. Ощущение, что чем больше загрузка приложения, тем чаще проявляет себя эта проблема. Бывает редко но жутко раздражает. Работоспособность программы не нарушается. Что делать? Может "костыли" какие возможно придумать? Android.
-
Здравствуйте, уважаемые! Пробую писать некое подобие файлового менеджера. Для вывода папок и файлов использую ListBox . Так вот: при обработке события ListBoxItemClick (нажатие на строку) происходит переход по пути, казанному с этой строке, содержимое этой папки отображается, но строки в ней не нажимаютмя, не реагируют на событие нажатия. Если проще - строки на первой станице ListBox реагируют на нажатие, а на второй - нет. Что я делаю не так? {Клик по Item'у, вперёд} procedure TForm1.FoldersListBoxItemClick(const Sender: TCustomListBox; const Item: TListBoxItem); var ExtFile: string; begin // Сохраняем выбранный путь CurrentPath := CurrentPath+Item.ItemData.Text; //Текущая директория if Item.TagString = 'folder' then //Проверяем, если это папка begin if TDirectory.Exists(CurrentPath) then //Проверяем, если папка существует begin Label1.Text:= 'Нажата строка № '+ inttostr(Item.Index); //Контроль!!! FillFolderListBox(CurrentPath, True); //Процедура заполнения ListBox`а папками и файлами end else if Item.TagString = 'file' then //Иначе - файл begin Label1.Text:='Отправляем файл "'+Item.ItemData.Text+'" на плеер'; //Готовим на исподнение end; end; end; Вот этот код срабатывает один (первый) раз. Прошу помощи, советов, вариантов.
-
Здравствуйте товарищи знатоки! Недавно решил перейти на Firemonkey чтоб создавать мобильные приложения... но к сожалению обнаружил что работа в нём сильно отличается =( и информации в интернете очень мало... и в дельфи демках тоже подобных примеров нету =( не понимаю как можно узнать информацию если ты не работаешь в большом коллективе программистов у которых есть связь с западными колегами которые участвовали в создании тех или иных компонентов... сейчас я разбираюсь с ListBox и хочу научится делать стандартные вещи.... например сначала я попытался создать 2 колонки как в VCL но оказалось так уже нельзя пол дня шерстил интернет и методом тыка научился делать это через Detail ... ok! =) Add: добавлять пункты научился так LItem:=TListBoxItem.Create(ListBox1) ... ListBox1.AddObject(LItem); Delete: поскольку DeleteSelected больше нет удаляю пункт сл образом ListBox1.Items.Delete(listbox1.Selected.index) но как проверить существует ли item? иначе возникает ошибка когда удаляешь и ничего не выделено Rename: переименовать item не получается =( разве что вставить пункт на место выделенного listbox1.InsertObject(... ,...); а сл удалить Move: поменять позицию у выделенного пункта тоже не получается Подскажите пожалуйста ответы на эти казалось бы простые вопросы! думаю это поможет очень многим начинающим ФаерМанкерам =)
-
Здравствуйте! Есть ListBox1, на нем разное кол-во tlistboxitem'ов, на каждом tlistboxitem'е есть один tgridpanellayout состоящий из четырех колонок и одной строчи, в каждой колонке по одному trectangle, в каждом trectangle по одному ttext с именами по очереди типа 'w'+IntToStr(Item.index), 'l'+IntToStr(Item.index), 'k'+IntToStr(Item.index) такие имена для Ttext требуются для дальнейшей обработки и распознования, в каждом Ttext надпись, на примере "-","2","2","Х" : при нажатии на текст "Х" удаляется tlistboxitem c помощью listbox1.Items.Delete(indexclick) Проблема следующая, при создании нового итема пишет дубликат имени Ttext, я так понял что итем удалился а то что на нем -нет как можно быстро удалить и итем и то что на нем находилось? Пример создания итема: procedure addrazmer(zap:typezap); var item:tlistboxitem; pg:tgridpanellayout; t1,t2,t3,t4:ttext; al:talignlayout; r1,r2,r3,r4:trectangle; i:integer; begin form1.listbox1.BeginUpdate; while Form1.listbox1.Count<>1 do Form1.listbox1.Items.Delete(0); for i := 0 to length(zap.razmer)-1 do begin item:=tlistboxitem.Create(form1.listbox1); item.Height:=30; pg:=tgridpanellayout.Create(item); pg.RowCollection[1].Value:=0; pg.ColumnCollection.Add;pg.ColumnCollection[2].Value:=50; pg.ColumnCollection.Add;pg.ColumnCollection[3].Value:=10; pg.Parent:=item; pg.Align:=al.alClient; r1:=trectangle.Create(pg); r2:=trectangle.Create(pg); r3:=trectangle.Create(pg); r4:=trectangle.Create(pg); r1.Parent:=pg;r1.Align:=al.alClient; r2.Parent:=pg;r2.Align:=al.alClient; r3.Parent:=pg;r3.Align:=al.alClient; r4.Parent:=pg;r4.Align:=al.alClient; t1:=ttext.Create(r1); if zap.tip<>'Лист' then Begin t1.Enabled:=false; t1.Text:='-'; End else Begin t1.text:=floattostr(zap.razmer.witdh); end; t2:=ttext.Create(r2);t2.text:=floattostr(zap.razmer.length); t3:=ttext.Create(form1);t3.Text:=floattostr(zap.razmer.kol); t4:=ttext.Create(form1);t4.Text:='X'; t1.Parent:=r1;t1.OnClick:=form1.CliskRazmerClick; t2.Parent:=r2;t2.OnClick:=form1.CliskRazmerClick; t3.Parent:=r3;t3.OnClick:=form1.CliskRazmerClick; t4.Parent:=r4;t4.OnClick:=form1.DeleteItemClick; t1.Align:=al.alClient; t2.Align:=al.alClient; t3.Align:=al.alClient; t4.Align:=al.alClient; form1.listbox1.InsertObject(form1.listbox1.Items.Count-1,item); t1.Name:='w'+IntToStr(item.Index); t2.Name:='l'+IntToStr(item.Index); t3.Name:='k'+IntToStr(item.Index); end; form1.listbox1.EndUpdate; end; Заранее спасибо!
-
Добрый день. IDE: Delphi 10.1 Berlin Update2 OS: Windows 7/64 ->Android (тестировал на 4.4.4) Вопрос 1: Пытаюсь загрузить в Listbox файл с русскими словами: ListBox1.Items.LoadFromFile(TPath.Combine(TPath.GetDocumentsPath, 'test1.txt')); При запуске на устройстве выдает ошибку: No mapping for the Unicode character exists in the target multi-byte code page Файл пытался сохранить и в UTF-8, и в ANSI, и в Unicode - без разницы (после смены кодировки делал Deployment) Как можно это победить? Вопрос 2: Вставил напрямую в дизайн-моде список этих же слов (из файла вопрос1) в Listbox - при старте программа очень долго думает. Слов порядка 10000. Как-то можно это ускорить?
- 5 ответов
-
- no mapping
- русские буквы
-
(и ещё 3 )
C тегом:
-
У Мемо есть фича когда нажимаешь (тап по экрану) вылезает клавиатура для редактирования текста. Можно ли сделать такое-же с ListBox ? Тапаешь по итему и клавой исправляешь текст.
-
Есть один листбокс..) В общем парился я парился, так и не понял как запилить стиль по человечески для итемов в боксе и нашел кнопку Edit default Style. Нашел куда впилить TimageViewer и поставил ему свойство client. Все бы ничего, да вот размер итемов не статичен, а картинка не растягивается, к тому же pngшная картинка не отделяется от фона. Подскажите, как картинку растягивать в зависимости от длины и ширины итемов листбокса и как правильно юзать pngшные картинки (что бы они сохраняли прозрачность). Может я вообще не туда рою и нужно другими способами вставлять картинки под каждый item? Видел много гайдов под listview, но к сожалению мне нужно именно для бокса.. ---- п.с. что бы было проще: как нарисовать ровную плашку позади каждого элемента листбокс?
-
Всем утречка! Интересует вопрос кастмизации listbox в плане дизайна. Хотелось бы что бы плашки имели какой то другой цвет, рамку с обводкой и все на андроиде: в какую сторону рыть? Пилить стиль самому? Хотелось бы, что бы элементы в листбоксе были темно подсвечены и имели рамочку.. Стили ставил, а вот как поправить что-то в стиле пока не понял.
-
Как listbox можно добавить стиль для items которые не выделены
Просто Проги опубликовал вопрос в Создание стилей
Суть такова копаюсь в стилях, но не могу понять откуда идет наследования есть контейнер content в нем есть selection т,е выделенный элемент лист бокса , возможно ли создать стиль просто для итемов в листбоксе или это не делается через стиль? -
Добрый день. Как по правому клики мыши.выделить итем в ListBox?. Проблема в том, что если у ListBox есть PoupMenu, оно перекрывает все события.
-
Собственно вопрос всё ещё копаю в сторону listbox сделал такой listbox var listitem:Tlistboxitem; listimg1:Timage; listlabel1:Tlabel; listLayout:Tlayout; progres:TProgressBar; but:TSpeedButton; begin listitem:=TListBoxItem.Create(ListBox1); listitem.Parent:=ListBox1; listitem.Height:=50; listimg1:=TImage.Create(listitem); listimg1.Parent:=listitem; listimg1.Width:=50; listimg1.Height:=50; listimg1.Align:=TAlignLayout.Left; listimg1.Bitmap:=Image1.Bitmap; // but:=TSpeedButton.Create(listitem); but.Parent:=listitem; but.StyleLookup:='myControl'; but.Align:=TAlignLayout.Right; listLayout:=TLayout.Create(listitem); listLayout.Parent:=listitem; listLayout.Align:=TAlignLayout.Client; listlabel1:=TLabel.Create(listLayout); listlabel1.Parent:=listLayout; listlabel1.Align:=TAlignLayout.Top; listlabel1.Height:=25; listlabel1.StyledSettings:=[TStyledSetting.Family,TStyledSetting.Style]; listlabel1.TextSettings.Font.Size:=12; listlabel1.TextSettings.FontColor:=TAlphaColorRec.White; listlabel1.Text:='event'; end; finally ListBox1.EndUpdate; как получить доступ к кнопке в созданном listbox ? или хотя бы как получить текст в listlabel1 в выбранном item. поидее должно работать item.selected но что то опять не работает или я туплю)
-
Привет всем может кто подскажет что не так создаю процедуру для добавления var item: TMetropolisUIListBoxItem; begin item :=TMetropolisUIListBoxItem.Create(Form1); item.Title:='Title'; item.SubTitle:='sub'; item.Description:=dua; ListBox1.AddObject(item); end; Всё добавляется,но когда я пытаюсь закрыть программу то падает ошибка procedure TObject.FreeInstance; begin CleanupInstance; _FreeMem(Pointer(Self));// на этой строке ошибка end; Как я понял что ошибка связана с памятью как можно правильно освободить память? и избавиться от этой ошибки )
-
Добрый день, не знаю уместен ли вопрос в этой ветке, но тем не менее. Задача следующая: есть ListBox на форме, с помощью стилей создан специальный ListItem с множеством edit'ов и т.д. При загрузке excel файла все это заполняется и выводится. Так вот, все это работает хорошо, до тех пор пока не начинаешь прокручивать - через некоторое время вылетает ошибка Собственно вопрос - По каким причинам она возникает и как ее можно исправить? проект выложил, подгрузка из файла - по умолчанию путь к файлу - C:\Users\Admin\Documents\Embarcadero\Studio\Projects\. Projects.rar
-
как сделать автоскролинг чтобы активный итем был виден ?
chaplin.u@gmail.com опубликовал вопрос в Доступ к итемам
При добавлении новых итемов в листбокс у него появляются скролы но самого итема не видно. как сделать автоскролинг чтобы активный итем был виден ? CurListBoxItem->SetFocus() не делает этого. -
У меня есть ListBox с 7 ListBoxItem , на каждом ListBoxItem есть 7 CheckBox-ов. Получается как-бы двухмерный массив CheckBox-ов. Какой самый простой способ обращаться к каждому конкретному CheckBox-у ?
- 19 ответов
-
- ListBoxItem
- CheckBox
-
(и ещё 1 )
C тегом:
-
Хочу написать итем пикер на основе скроллбокса(листобокса, тут не суть важна), выглядеть он должен так, обычный скролл, но в области видимости только 5 элементов. 3й элемент(цетральный) как бы выделен(на его уровне вне листбокса лежит прямоугольник, который его типа подсвечивает). В чём проблема. всё работает красиво, но хотелось бы, что бы при окончании скроллинга происходило приближение к элементу, чья позиция ближе всего к позиции, которую подсвечивает прямоугольник.
-
Доброго времени суток как отсортировать по алфавиту Listbox1.sorted := true; если так то он сортирует начиная с цифр а хотелось бы чтоб он начинал с букв можно ли научить listbox этому ? спасибо
-
Могу ли я каким-то образом вставить Item не в конец списка, а после определённого?
-
Обновление Списков (ListBox, ListView) как в популярных приложения Скачать с офф. сайта UpdateMe.zip
- 4 ответа
-
- Панель
- Обновление
-
(и ещё 3 )
C тегом:
-
Если кому-нибудь понадобится Listbox такой-же как и в списке сообщений в андроиде. ListboxInteractions.zip