Para empezar, me puedes confirmar que realmente te funciona este parte del código:
Código Delphi
[-]
procedure TForm1.LibrosKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
ShowMessage(IntToStr(Libros.ItemIndex));
if key = vk_space then
begin
libros.itemindex:=Libros.itemindex+1;
end;
end;
El código pegado tiene un error:
f key :
= vk_space then //aquí le sobran los :
Un Saludo.