Hallo,
ich benutze den
hier im Forum zu findenden Code zum Verschieben von Einträgen in einer T
CheckListBox. Das funktioniert soweit auch ganz gut.
Das Problem ist jedoch, dass mir das Scrollen überhaupt nicht gefällt:
Je größer das Fenster, desto besser klappt das Scrollen. Je kleiner (in meinem Fall 4 Zeilen) klappt es kaum. Das äußert sich daran, dass man beim Ziehen eines Eintrages an das Ende der Liste im unteren Bereich die Maus immer hoch und runter "rütteln" muss - nach oben dasselbe Spiel. Bei meinen 4 Zeilen klappt es manchmal garnicht.
Wie bekomme ich es hin, dass das Scrollen (fließend) klappt?
Ich habe bereits versucht, über die bei OnDragOver() mit übergebenen X- und Y-Positionen das Scrollen laufen zu lassen. Etwa so:
Delphi-Quellcode:
Procedure TForm1.DragOver();
...
If Y<CheckListBox1.ItemHeight Then
CheckListBox1.ScrollBy(0,-16);
If Y>(CheckListBox1.Height-CheckListBox1.ItemHeight) Then
CheckListBox1.ScrollBy(0,16);
...
Abgesehen davon, dass das unschöne Verzerrungen in der Box liefert, klappt das Scrollen nicht.
Gruß und Dank, Alex