I have problems viewing a Win32 list, and I hope someone has wisdom. With very fast scrolling (using the wheel), sometimes the list view is displayed for scrolling, only to return to the selected item so that it is in view. In other words, the list cancels the scroll wheel to show the selected item at the top / bottom of the list. I understand that this sounds very doubtful, since the general control has been beaten to death all over the world.
Here's how you can repeat it:
- Download a list view in report mode with approximately 500 elements (the exact value does not matter, you just need several data screens).
- Select an item from the list and remember what you have selected.
- Quickly scroll the list with the wheel down (toward you). We are trying to scroll the selected item as quickly as possible. You should probably use more power than you usually use on the wheel. This does not always happen. You may need to try several times.
- Either the scroll will end normally, or it will change its mind at the end and return you back to where the selected item is on the screen.
This happens with both regular and virtual lists. I tested Win32 and C # on Windows 7 Ultimate.
I made a small WinForms application that demonstrates behavior (requires .NET Framework 3.5). If you do not want to run arbitrary executable files from strangers (as I understand it), create a new WinForms application, delete the list view in report mode, add a column and fill the list in the form load event with 500 increasing integers:
private void Form1_Load(object sender, EventArgs e) { for (int i = 0; i < 500; i++) { this.listView1.Items.Add(i.ToString()); } }
source share