It isn't done automatically.
You need to send a message to the listview to let the list jump to the item so it is visible.
This can done by sending the windows message constant
LVM_ENSUREVISIBLE to the listview.
where the two parameters are:
- i: The index of the list-view item.
- fPartialOK: A value specifying whether the item must be entirely visible. If this parameter is True, no scrolling occurs if the item is at least partially visible.
Thus:
PlusWnd.SendControlMessage(
MyControlId,
LVM_ENSUREVISIBLE,
i,
fPartialOK)
eg:
code:
MyWindow.SendControlMessage("MyListViewID", /* LVM_ENSUREVISIBLE */ 0x1013, 5, False)
this makes that the listview with ID "MyListViewID" on the window object MyWindow will make the 6th item (first item is item index 0) entirly visible.
PS: that '/* something */' isn't needed, it is just an inline comment to make it clear what the number stands for.