1. Also unter "Verschieben" verstehst Du wohl nicht das Verschieben von den Einträgen in ListBox oder ListView sondern das "Verschieben" des Cursors um eines nach unten, oder? Nach dem Button-Klick ist dann nicht mehr das erste Element sondern nun das zweite markiert.
2.
ListViewA1.HideSelection := False;
ist richtig. Sollte in ListViewA1 dennoch kein Eintrag markiert sein, kann man mit
ListViewA1.Items[0].Selected:= True;
nachhelfen.
Die Funktionen in ListView sind allerdings etwas umfangreicher als in ListBox. So hat ein ListItem (also ein einzelner Eintrag eines ListView) auch noch weiter Eigenschaften bezüglich der Markierung:
Delphi-Quellcode:
ListViewA1.Items[0].Focused:= True; // zeichnet einen Rahmen um den Eintrag
ListViewA1.Items[0].MakeVisible(True); // scrollt den markierten Eintrag in den sichtbaren Bereich
Beides wird bei ListBox automatisch gemacht!
Gruß
e-gon