Можно ли программно установить произвольную строку в первую позицию 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;

Последние комментарии

Счетчики