Delphi-PRAXiS
Seite 1 von 3  1 23      

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 Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen (https://www.delphipraxis.net/208668-win10-tlistbox-mousewheel-ausserhalb-des-controls-scrollen.html)

MyRealName 3. Sep 2021 09:13

Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen
 
Ich wollte kurz nachfragen, ob Euch das aufgefallen ist und was eine mögliche Lösung ist, before ich gross rumprogrammiere.

Bei uns wird jetzt doch mal endlich von Win8 auf Win10 umgestellt. Einige Abteilungen kriegen jetzt schon Win10 Rechner, wir Entwickler sind noch auf Win8.
Jetzt habe ich in einem Programm eine TListBox und einen Button. In der ListBox werden oft so viele Daten angezeigt, dass man scrollen muss, um bis zum Ende zu kommen. Dann den Knopf drücken, da werden dann die neuen Daten geladen und der Focus vom Button wieder auf die TListBox gelegt.
Unter Win8 kann ich mit der Mouse über dem Knopf bleiben und die Listbox scrollen, weil sie ja den Focus hat.
Unter Win10 scrollt es nicht mehr, sowie man ausserhalb der TListBox ist, auch wenn diese den Focus hat.

Gibt es eine einfach Möglichkeit, das Verhalten von Win8 an der Stelle wieder herzustellen ?

Meine Idee ist dem unterliegendem Form das Scrollen abzufangen und an die TListBox weiterzugeben.


Danke schonmal...

Aviator 3. Sep 2021 09:16

AW: Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi, das hängt von den Benutzereinstellungen (inaktive Fenster beim Draufzeigen scrollen) ab. Das Verhalten immer zwingend für den Benutzer so einzustellen ist meines Erachtens aber der falsche Weg.

MyRealName 3. Sep 2021 09:30

AW: Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen
 
Wir machen interne Software und die Fachabteilung wünscht sich das halt so.
Der Name "inaktive Fenster beim Draufzeigen scrollen" ist aber irreführend in dem Fall, weil ich es
1.) abschalten muss, damit es geht
und
2.) das Fenster ja nicht inaktiv ist

Uwe Raabe 3. Sep 2021 10:06

AW: Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen
 
Zitat:

Zitat von MyRealName (Beitrag 1494114)
Der Name "inaktive Fenster beim Draufzeigen scrollen" ist aber irreführend in dem Fall, weil ich es
1.) abschalten muss, damit es geht
und
2.) das Fenster ja nicht inaktiv ist

Nein, das ist anders gemeint: Wenn die Option eingeschaltet ist, bekommt das Fenster die Scroll-Messages über dem die Maus gerade steht. Das inaktive Fenster wäre dann in deinem Fall der Button.

Der schöne Günther 3. Sep 2021 10:08

AW: Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen
 
Für Otto Normal ist ein Fenster halt das Ding mit den drei _ □ × Buttons, wir Delphi-Entwickler wissen halt dass aus Windows-Sicht selbst ein Button ein Fenster ist 😎

Windows hätte das eher als "Elemente" statt "Fenster" bezeichnen sollen.

MyRealName 3. Sep 2021 10:12

AW: Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1494116)
Zitat:

Zitat von MyRealName (Beitrag 1494114)
Der Name "inaktive Fenster beim Draufzeigen scrollen" ist aber irreführend in dem Fall, weil ich es
1.) abschalten muss, damit es geht
und
2.) das Fenster ja nicht inaktiv ist

Nein, das ist anders gemeint: Wenn die Option eingeschaltet ist, bekommt das Fenster die Scroll-Messages über dem die Maus gerade steht. Das inaktive Fenster wäre dann in deinem Fall der Button.

ahhhhh... muss man erstmal durchblicken :) Danke!

MyRealName 3. Sep 2021 13:17

AW: Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen
 
Gibt es da sowas wie eine API Funktion, wo man das für seine eigene Anwendung an- oder abstellen kann ?

TiGü 3. Sep 2021 15:08

AW: Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen
 
Zitat:

Zitat von MyRealName (Beitrag 1494127)
Gibt es da sowas wie eine API Funktion, wo man das für seine eigene Anwendung an- oder abstellen kann ?

Workaround: Beim Programmstart bzw. dann beim Beenden in der Registry aus-/anschalten?

dummzeuch 3. Sep 2021 16:44

AW: Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen
 
Zitat:

Zitat von TiGü (Beitrag 1494130)
Zitat:

Zitat von MyRealName (Beitrag 1494127)
Gibt es da sowas wie eine API Funktion, wo man das für seine eigene Anwendung an- oder abstellen kann ?

Workaround: Beim Programmstart bzw. dann beim Beenden in der Registry aus-/anschalten?

Bloß nicht! Solche globalen Einstellungen sollte ein Programm niemals ändern, sonst sucht man sich hinterher einen Wolf, wenn irgendein anderes Programm sich anders verhält als erwartet.

Das Problem sollte sich aber beheben lassen, in dem man im Formular die Wheel-Messages abfängt und an die Listbox weiterleitet. Man muss nur aufpassen, dass sie dann nicht doppelt verarbeitet werden, wenn die Listbox den Focus hat.

Redeemer 3. Sep 2021 17:03

AW: Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen
 
Zitat:

Zitat von TiGü (Beitrag 1494130)
Zitat:

Zitat von MyRealName (Beitrag 1494127)
Gibt es da sowas wie eine API Funktion, wo man das für seine eigene Anwendung an- oder abstellen kann ?

Workaround: Beim Programmstart bzw. dann beim Beenden in der Registry aus-/anschalten?

Dürfte auch nicht gehen, denn Windows wird sicher nicht bei jedem Scrollen in der Registry nachgucken, ob das jetzt an oder aus ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:46 Uhr.
Seite 1 von 3  1 23      

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