Показать сообщение отдельно
  #6  
Старый 14.04.2010, 01:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,100
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну тогда тебе такие фокусы рано делать. в принципе, можно добавлять итемы не через add, а через AddObject, где вторым параметром идет ссылка на экземпляр какого-нить класса. Если бы у тебя итемы добавлялись строго из одного едита (один едит - один итем), то можно было бы сделать так:
Код:
procedure TForm1.btAdd1Click(Sender : TObject);
begin
  Listbox1.Items.AddObject(Edit1.Text,TObject(Edit1));
end;

procedure TForm1.btAdd2Click(Sender : TObject);
begin
  Listbox1.Items.AddObject(Edit2.Text,TObject(Edit2));
end;

procedure TForm1.Listbox1DblClick(Sender : TObject);
begin
  If ListBox1.ItemIndex > -1 Then
    TEdit(Listbox1.Items.Objects[ListBox1.ItemIndex]).Text := Listbox1.Items[ListBox1.ItemIndex];
end;

Т.к. у тебя итем комбинируется из нескольких едитов, то тебе надо написать свой класс, в который ты просто сохранишь из какого едита пришла та или иная подстрока. Этот класс подцепляется к итему (второй параметр AddObject) и при клике из этого класса и производится восстановление информации. Только надо не забывать аккуратно эти классы удалять при удалении итемов.
Ответить с цитированием