![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ListBox [D7, XP]
Blari © (2006-05-26 00:48:00)У меня есть форма, там ListBox и Edit1
По нажатию на кнопку в ListBox добавляется содержание Edit1.
Требуется чтобы то что добавлялось в ListBox нумеровалось (Пример: 1) Бла бла. 2) Бла бла)
Добавляю вот так
ListBox1.Items.Insert(ListBox1.ItemIndex, Edit1.Text);
MsGuns (2006-05-26 09:58:00) [1]>antonn © (26.05.06 06:48) [10]
Стильно ;))
Loginov Dmitry (2006-05-26 09:51:00) [2]antonn © (26.05.06 6:48) [10]
А самое главное где?
Style = lbOwnerDrawVariable
antonn (2006-05-26 06:48:00) [3]нафиг счетчик и инкрементатор:
procedure TForm1.ListBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
var strTemp:string;
begin
With ( Control As tListBox ).Canvas Do Begin
FillRect(Rect);
TextOut(Rect.Left, Rect.Top+((Rect.Bottom-Rect.Top)-TextHeight('1A')) div 2,' '+inttostr( index+1 )+'. '+( Control As TListBox ).Items[index] );
End;
end;
Blari (2006-05-26 01:12:00) [4]Извиняюсь, разобрался.
Спасибо за аперативность
Blari (2006-05-26 01:05:00) [5]Не понимаю, делаю все как было сказано (ListBox1.Items.Insert(ListBox1.ItemIndex, IntToStr(ListBox1.ItemIndex)+Edit1.Text);), а результат нулевой.
Blari (2006-05-26 01:01:00) [6]
> Твой код добавляет элемент перед выделенной строкой в листбоксе.
> Add добавляет в конец списка. А что именно нужно — тебе
> виднее :)
Вот и я о том же :)
Джо (2006-05-26 00:59:00) [7]> [2] Blari (26.05.06 00:57)
> А есть принципиальная разница?
Твой код добавляет элемент перед выделенной строкой в листбоксе. Add добавляет в конец списка. А что именно нужно — тебе виднее :)
Галинка (2006-05-26 00:59:00) [8]Ой... Извиите, конечно
ListBox1.Items.Insert(ListBox1.ItemIndex, IntToStr(Buttoт1.Tag)+') '+Edit1.Text);
Blari (2006-05-26 00:59:00) [9]
> А почему Insert, а не Add?
Я использую определенное место вставки, думал удобнее будет через Insert
Blari (2006-05-26 00:57:00) [10]А есть принципиальная разница?
Галинка (2006-05-26 00:57:00) [11]что использовать в качестве номера?
1) индекс строки в которую вставляешь
ListBox1.Items.Insert(ListBox1.ItemIndex, IntToStr(ListBox1.ItemIndex)+Edit1.Text);
2) номер связан с нажатием кнопки: заводишь какой-нибудь сторонний счетчик нажатий на кнопку (например, в свойстве Tag кнопки) и
ListBox1.Items.Insert(ListBox1.ItemIndex, IntToStr(Butto1.Tag)+Edit1.Text);
А почему Insert, а не Add?
Джо (2006-05-26 00:54:00) [12]Заводишь счетчик с нужной степенью глобальности. Инкрементируешь при каждом добавлении. Добавляешь:
ListBox1.Items.Insert(ListBox1.ItemIndex, IntToStr(Counter) + ': ' + Edit1.Text);
P.S. А ты уверен, что тебе нужен Insert, а не Add?