Можно ли программно установить произвольную строку в первую позицию TListBox?
Для установки любой строки в произвольную позицию в окне TListBox можно послать сообщение:
SendMessage(ListBox1.Handle, lb_SetTopIndex, SpinEdit1.Value-1, 0);
где первым параметром передается указатель на компонент, вторым - сообщение, третьим - номер устанавливаемой строки и позиция в окне на которую перемещается указанная строка.
Строки нумеруются с нуля.
Пример:
procedure TForm1.SpinEdit1Change(Sender: TObject); begin TRY SendMessage(ListBox1.Handle, lb_SetTopIndex, SpinEdit1.Value-1,0); FINALLY END; end;