| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Редактирование Item у ListBox |
| Автор: mr.Anderson 9.8.2005, 08:17 |
| Подскажите, как отредактировать выделенный в ListBox элемент? Как добавить, понятно, как удалить, тож понятно, а вот отредактировать как? Если для этого нужно редактировать сам файл (у меня все содержимое ListBox в файле хранится), то скажите, как его отредактировать через, может быть, дополнительные формы (т.е. не открывая файл в блокноте вручную). |
| Автор: chaos 9.8.2005, 09:14 |
| все завистит от свойства property Style: TListBoxStyle если он у тебя выставлен в lbStandard то ты в нем можешь писать. если так то пишешь(редактируешь) себе и потом или по нажатию ентера или еще чего нибудь устанавливешь новую строку Добавлено @ 09:18 посмотри на класс TString там много чего интересного есть Добавлено @ 09:18 если конечно я тебя правельно понял |
| Автор: codelord 9.8.2005, 12:45 | ||
| Допустим имея заполненный ListBox, то хотя бы так :
|
| Автор: Lancet 9.8.2005, 12:50 |
| а выделенного элемента так: ListBox1->Items->Strings[ListBox1->ItemIndex] = "Replace string"; |
| Автор: mr.Anderson 11.8.2005, 18:35 |
| Понял, сейчас пойду пробовать. chaos, то, что вы мне описали, очень уж для меня пока непонятно. Вообще, я предполагал редактирование выделенного элемента через вызов дочерней формы. Так что больше всего в данном случае мне подходит код от Lancet, если, конечно, он правильный. |
| Автор: mr.Anderson 13.8.2005, 12:35 | ||
Появилась еще проблема. Я редактирую выделенный элемент ЛистБокса через вызов другой формы, как я уже говорил. В этой форме я разместил компонент Edit, и мне нужно при вызове этой самой дочерней формы в свойство Text компонента Edit затолкать текст редактируемого элемента ЛистБокса. Однако, при выполнении такого вот кода (это событие OnActivate дочерней формы):
Выдается ошибка. Компилятор говорит, что ничего в упор не знает об объектах Form1 и ListBox1. Подключение юнита Unit1.c, в котором содержится код первой, главной то есть, формы - ничего не дает. Все равно Form1 является якобы неизвестным объектом. Как это исправить? |
| Автор: codelord 13.8.2005, 23:02 |
| Form4->Edit1->Text=Form1->ListBox1->Items->Strings[ListBox1->ItemIndex]; |
| Автор: codelord 13.8.2005, 23:56 | ||
| Подключи так главную форму: если надо подключи и Form4. только не .с файлы а .h т.е пример:
|
| Автор: mr.Anderson 14.8.2005, 18:08 | ||||
Отлично, сработало! Правда, строку
Пришлось немного изменить и сделать вот такой:
Правда, перед этим мне пришлось довольно долго думать, почему же компилятор говорит о "неизвестном символе ListBox1", если он существует... А заголовочные файлы я подключать не забываю никогда и на этот раз тоже не забыл. Только я забыл, что я при создании проекта переименовал файл кода, а подключить его пытался как Unit1.h , хотя он назывался Code.h. Моя рассеянность меня убивает. |
| Автор: teesync 26.7.2022, 23:50 |
Модератор: Сообщение скрыто. |
| Автор: squilia 15.8.2022, 05:48 |
Модератор: Сообщение скрыто. |
| Автор: Adjusly 24.1.2023, 01:08 |
Модератор: Сообщение скрыто. |