Scrollprobleme mit ListView und ScrollBox
-
Hallo Leute,
ich habe ein blödes Problem mit mehreren ListView-Komponenten untereinander in einer ScrollBox. Die VScrollBar ist sichtbar, da alle ListView nicht in der ScrollBar reinpassen - das ist auch gut so. Man muss herunterscrollen um z.B. an das 3. ListView heranzukommen.
Mein Problem ist zum, dass ich OnClick-Ereignisse machen will. Wenn ich auf einen halbsichtbaren ListView klicke, dann scrollt die ScrollBox etwas nach oben und ich erwische nicht beim ersten Mal einen Eintrag richtig, wenn ich draufklicke. Ist es möglich dieses Scrollen der ScrollBox irgendwie abzuschalten?
Hoffe, ihr versteht mein Problem.
Gruß
Hawk
-
Nun, da leider keiner hier eine Lösung dafür hatte, habe ich eben das
AutoScroll=false
gesetzt und eine extra vertikale ScrollBar neben der ScrollBox gesetzt und steuere das ganze jetzt über die externe ScrollBar.
Das Hin-und Herspringen wegen dem Fokus ist nicht mehr vorhanden und das Problem ist gelöst.
Ich denke, dass es zwar keine elegante Lösung ist, aber wenn jedoch jemand trotzdem eine bessere hat, dann bitte her damit!
Gruß
Hawk
-
Wie wäre es denn, wenn du dann deine komplette Lösung hier reinpostest? Von den anderen hast du immerhin auch eine Lösung erwartet.
-
Nun,
OK hier also meine Lösung nachdem ich
ScrollBox1->AutoScroll=false
gesetzt habe:
In der externen ScrollBar, die neben der ScrollBox vertikal platziert ist, habe ich im OnScroll-Ereignis folgendes eingetragen:
void __fastcall TForm1::ScrollBar1Scroll(TObject *Sender, TScrollCode ScrollCode, int &ScrollPos) { //---- Die X-Koordniate von ScrollBy ist Null, da ich nur vertikal scrollen möchte ScrollBox1->ScrollBy(0,-(ScrollPos-ScrollBar1->Position)); }
Wenn ich die ScrollBar bewege/scrolle, dann scrollt auch die ScrollBox wie es sein sollte und der Focus lässt die ScrollBox nicht hin und her springen.
Gruß
Hawk