AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen

Win10 -> TListBox -> MouseWheel -> ausserhalb des Controls scrollen

Ein Thema von MyRealName · begonnen am 3. Sep 2021 · letzter Beitrag vom 7. Sep 2021
Antwort Antwort
Seite 2 von 3     12 3   
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.641 Beiträge
 
Delphi 10.4 Sydney
 
#11

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

  Alt 3. Sep 2021, 18:23
Dürfte auch nicht gehen, denn Windows wird sicher nicht bei jedem Scrollen in der Registry nachgucken, ob das jetzt an oder aus ist.
Ich meine auch, man muss sich mindestens einmal ab- und anmelden damit das wirkt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.713 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

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

  Alt 3. Sep 2021, 18:48
Was kommt als nächstes? Dem Benutzer die Bildschirmauflösung oder DPI-Skalierung ändern weil das dem Programm besser passt?

Wenn, dann ist der richtige Weg die entsprechenden Messages abzufangen.
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
540 Beiträge
 
Delphi 10.4 Sydney
 
#13

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

  Alt 5. Sep 2021, 11:36
Ok, danke, das hatte ich befürchtet.
Ich hatte nur gehgofft, dass es da was gibt, weil die Winforms von DevExpress sowas können. Die haben so eine Property SmartMouseWheelProcessing, da geht es genau um diese Einstellung
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.641 Beiträge
 
Delphi 10.4 Sydney
 
#14

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

  Alt 5. Sep 2021, 12:46
Ich vermute mal, die fangen die Scroll-Messages im Form ab und verteilen die dann entsprechend. Das funktioniert ja auch nur mit ganz bestimmten DevExpress-Form-Typen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
926 Beiträge
 
Delphi 2007 Professional
 
#15

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

  Alt 5. Sep 2021, 16:45
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.
Manchmal habe ich das Gefühl, ich bin hier im Spam-Filter gelandet, weil gefühlt die meisten meiner Beiträge ignoriert werden.

Oder ist diese Lösung zu kompliziert?
Thomas Mueller
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
150 Beiträge
 
Delphi 10.4 Sydney
 
#16

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

  Alt 5. Sep 2021, 17:54
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.
Manchmal habe ich das Gefühl, ich bin hier im Spam-Filter gelandet, weil gefühlt die meisten meiner Beiträge ignoriert werden.

Oder ist diese Lösung zu kompliziert?
Vielleicht liegt’s ja an deinem Namen. Obwohl, ich finde den super 😂
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
259 Beiträge
 
Delphi 10.4 Sydney
 
#17

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

  Alt 5. Sep 2021, 18:31
Etwas Quelltext:

Code:
procedure TMainForm.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin
  if Msg.message=WM_MOUSEWHEEL then
  begin
    SendMessage(ListBox1.Handle, WM_MOUSEWHEEL, Msg.wParam, Msg.lParam);
    Handled:=True;
  end;
end;
Du kannst ggf. mit PtInRect noch prüfen in welchem Breich das so laufen soll.

Beste Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.641 Beiträge
 
Delphi 10.4 Sydney
 
#18

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

  Alt 5. Sep 2021, 18:54
Wäre da GetFocus anstatt ListBox1.Handle nicht etwas generischer? Sonst wirkt das Scrollen ja immer nur in der ListBox.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
2.806 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#19

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

  Alt 6. Sep 2021, 09:56
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.
Manchmal habe ich das Gefühl, ich bin hier im Spam-Filter gelandet, weil gefühlt die meisten meiner Beiträge ignoriert werden.

Oder ist diese Lösung zu kompliziert?
Das kenn ich auch gut!

Man postet die Lösung und trotzdem werden weiterhin Beiträge mit nicht passenden Lösungen oder sogar der fast gleichen Lösung geschrieben.

(Also jetzt mal unabhängig zu meiner Registry-Idee, die wirklich nur als dreckiger Workaround verstanden werden sollte)

eaxxumdwkaatlgr.png
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.841 Beiträge
 
Delphi 7 Professional
 
#20

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

  Alt 6. Sep 2021, 10:14
Sagen wir mal so:

Um den ersten korrekten Lösungsvorschlag als solchen zu erkennen, muss das Problem soweit verstanden sein, dass dieser Lösungsvorschlag als korrekt erkannt werden kann.

Ist dem nicht so, werden alternative Lösungsvorschläge gesucht. Dabei wird sich langsam aber sicher soweit in die Materie eingearbeitet, dass zu einem späteren Zeitpunkt dann ein identischer Vorschlag als korrekter Lösungvorschlag erkannt werden kann.

Pflapsig formuliert:

Ihr seid mit Euren korrekten Lösungsvorschlägen manchmal einfach nur zu schnell,
oder Ihr seid mit Euren Lösungsvorschlägen der Zeit weit voraus

Es ist halt ein allgemeines menschliches Problem:

Lieber lernt man aus eigener Erfahrung und eigenem "Aufdiefressefallen", als (blind) auf die Erfahrungen anderer zu vertrauen.
Nennt man auch: Lebenserfahrung sammeln.

Wie z. B. die heiße Herdplatte. Das sie heiß ist, erfährt man als Kind nicht, weil andere es sagen, sondern weil man sich die Finger verbrannt hat.

Ist einfach so, kein Grund zur Aufregung, kein Grund sich ignoriert zu fühlen, ist nur der normale tägliche Wahnsinn
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 16:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf