Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Listbox in Scrollbox-position verschiebt sich beim klicken (https://www.delphipraxis.net/88569-listbox-scrollbox-position-verschiebt-sich-beim-klicken.html)

Van HelF 17. Mär 2007 10:36


Listbox in Scrollbox-position verschiebt sich beim klicken
 
Hallo,
Ich habe eine Listbox in einer Scrollbox erstellt, die lisbox ist größer als die scrollbox, sodass man in der scrollbox hoch und runterscrollen kann. scrollt man jetzt herunter, sodass man die letzten items der listbox sehen kann und klickt auf diese, springt die scrollbox hoch (auch der scroll- schieberegler) und es wird ein anderes item ausgewählt, dass höher liegt (sieht so aus als würde das item ausgewählt mit dem abstand von unten jedoch ohne dass gescrollt wird).

Van HelF 20. Mär 2007 19:35

Re: Listbox in Scrollbox-position verschiebt sich beim klick
 
falls sich keiner vorstellen kann, was ich meine, einfach mal eine scrollbox aufs form, eine listbox rein, die länger ist, diese mit items füllen, und dann mal runterscrollen und versuchen ein item anzuklicken.

oXmoX 16. Jul 2007 08:52

Re: Listbox in Scrollbox-position verschiebt sich beim klick
 
hallo,

habe exakt das gleiche problem.

gibt es schon eine lösung?

die scrollbox will immer automatisch das enthaltene control, welches den focus bekommt sichtbar machen. da die listbox jedoch grösser ist als die scrollbox, wird einfach so gescrollt, dass die obere kante der listbox sichtbar ist. der mausklick wird leider erst nach dem scrollen verarbeitet wodruch dann falsche mauskoordinaten verwendet werden (die listbox hat sich ja durch das scrollen relativ zur maus verschoben).

Wenn man verhindern könnte, dass die scrollbox automatisch zu dem neuen focus scrollt wäre das problem also gelöst.

jemand eine idee?

gruß
oXmoX

Centrii 16. Jul 2007 11:15

Re: Listbox in Scrollbox-position verschiebt sich beim klick
 
Hi

Hab das eben mal ausprobiert, bei mir funktioniert es, ich kann die Listbox mit Werten füllen und den letzten auch selektieren ohne das der Scroll-Balken wo anderst hinspringt. :gruebel:
Wieso mchst du eigentlich eine ScrollBox außenrum?? Die Listbox scrollt doch automatisch....

Gruß
Ruben

oXmoX 16. Jul 2007 12:35

Re: Listbox in Scrollbox-position verschiebt sich beim klick
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Centrii
Wieso mchst du eigentlich eine ScrollBox außenrum?? Die Listbox scrollt doch automatisch....

Hmmmm ...ich glaub ich hab noch was vergessen: In der Scrollbox sind nämlich - neben der listbox - noch andere Controls untergebracht (darum die notwendigkeit einer scrollbox um die listbox)

...und wenn der focus nun auf die listbox wechselt, will die scrollbox die obere kante der listbox-control in den sichbaren bereich scrollen.

schau's dir einfach mal an im angefügten beispiel. unterhalb der listbox findest du ein edit, welches beim start den focus erhält. wechselt der ficus nun auf die listbox, so springt das fenster nach oben und der mausklick "landet" sozusagen an der falschen listenposition.

Centrii 16. Jul 2007 12:52

Re: Listbox in Scrollbox-position verschiebt sich beim klick
 
hm.... :gruebel:
das ist komisch, wenn das Edit Feld keinen Focus hat funktioniert es....
muss ich mal genauer anschauen....

Gruß
Ruben

Centrii 16. Jul 2007 13:23

Re: Listbox in Scrollbox-position verschiebt sich beim klick
 
also irgendwie geht das bei mir auch nicht, hab auch kein Workaround gefunden. :pale:
tu mir aber den gefallen und poste es wenn du ne Lösung hast. Ich werd mich auch nochmal umhören....

Gruß

Ruben

oXmoX 17. Jul 2007 08:38

Re: Listbox in Scrollbox-position verschiebt sich beim klick
 
mir wäre ja schon geholfen, wenn mir jemand sagen könnte, wie man verhindert, dass die scrollbox immer das control mit dem focus in den sichtbaren bereich rücken will.

Sidorion 17. Jul 2007 15:53

Re: Listbox in Scrollbox-position verschiebt sich beim klick
 
Das ist leider nicht nur mit Listboxen in Scrollboxen so.
Pack mal ne Listbox mit mehr Items als sie darstellen kann und ein Edit auf ne Form und zwar so, dass beim Start das Edit den Focus hat. Dann Scrollst Du erst in der Listbox nach unten und wählst dann ein Item an. Die Listbox wird dann nach oben scrollen und das item anwählen, das dann unter der Maus ist.
Das ist denke ich schon vom BS so schwoll gelöst, da wirste Pech haben.
Das funktioniert auch mit dem code-explorer. Hier muss man auch erst ein Item anwählen, dann scrollen und dann das Item anwählen, das man wirklich will

Einzige Lösung, die mir einfällt (aber kann auch nicht klappen): Selektiere automatisch sofort das erste Item in der Box und sorge dafür, dass sie den Focus hat.

oXmoX 17. Jul 2007 16:15

Re: Listbox in Scrollbox-position verschiebt sich beim klick
 
Jau, mir ist bewusst, dass das beschribene Verhalten Standard in Windows ist. Um ehrlich zu sein bezieht sich mein konkretes problem auch nicht auf eine listbox, sonder auf ein stringgrid ...damit verhält es sich nämlich genauso.

Zitat:

Zitat von Sidorion
Einzige Lösung, die mir einfällt (aber kann auch nicht klappen): Selektiere automatisch sofort das erste Item in der Box und sorge dafür, dass sie den Focus hat.

Leider keine Lösung für mich, da der Benutzer ja den focus auf das edit lenken darf.

trotzdem danke!

...der nächste bitte :|


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:04 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz