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

По поводу добавления до и после.
Суть такая. Тебе надо найти нужный узел, видимо, по данным (тут есть еще вариант для упрощения - хранить готовые ссылки в итемах листбокса).
Ну и само добавление:
Код:
procedure AddItemAfter(node : PLinkNode; newNode : PLinkNode);
begin
  newNode.next := node.Next;
  newNode.prev := node;
  node.Next := newNode;
end;

procedure AddItemBefore(node : PLinkNode; newNode : PLinkNode);
begin
  AddItemAfter(node.Prev,newNode);
end;

Здесь нет проверки на добавление перед первым и после последнего элементов, но там просто, сам сделаешь.
Ответить с цитированием