Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 12, 2025 23:00

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Mausrad
BeitragVerfasst: Sa Okt 11, 2003 16:21 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 29, 2002 13:24
Beiträge: 91
Wohnort: Oberhausen (NRW)
Wie kann ich abfragen ob das Mausrad hoch/runter gescrollt wurde?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 11, 2003 16:38 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Mit den Formevents OnMouseWheelDown, OnMouseWheelUp und OnMouseWheel.Wenn die nicht zur Verfügung stehen,dann musst du halt selbst die Windowsnachrichten abfagen.

P.S. : Achte bitte in Zukunft darauf wo du deine Fragen postest.Habe deine beiden kurz aufeinander gestellten Fragen nämlich beide verschoben,da keine davon was mit OpenGL zu tun hatte.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 11, 2003 16:39 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Wie immer gibt es dafür Nachrichten, die man abfangen muß. Für die Mausräder sind ist das die Nachricht WM_MOUSEWHEEL ($020A).

Auszug aus dem Windows - SDK:
Code:
  1.  
  2. fwKeys = LOWORD(wParam);    // key flags
  3. zDelta = (short) HIWORD(wParam);    // wheel rotation
  4. xPos = (short) LOWORD(lParam);    // horizontal position of pointer
  5. yPos = (short) HIWORD(lParam);    // vertical position of pointer
  6.  
  7. Parameters
  8.  
  9. fwKeys
  10.  
  11. Value of the low-order word of wParam. Indicates whether various virtual keys are down. This parameter can be any combination of the following values:
  12.  
  13. Value   Description
  14. MK_CONTROL  Set if the CTRL key is down.
  15. MK_LBUTTON  Set if the left mouse button is down.
  16. MK_MBUTTON  Set if the middle mouse button is down.
  17. MK_RBUTTON  Set if the right mouse button is down.
  18. MK_SHIFT    Set if the SHIFT key is down.
  19.  
  20.  
  21. zDelta
  22.  
  23. The value of the high-order word of wParam. Indicates the distance that the wheel is rotated, expressed in multiples or divisions of WHEEL_DELTA, which is 120. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user.
  24.  
  25. xPos
  26.  
  27. Value of the low-order word of lParam. Specifies the x-coordinate of the pointer, relative to the upper-left corner of the screen.
  28.  
  29. yPos
  30.  
  31. Value of the high-order word of lParam. Specifies the y-coordinate of the pointer, relative to the upper-left corner of the screen.
  32.  
  33.  
  34.  
  35. Remarks
  36.  
  37. The zDelta parameter will be a multiple of WHEEL_DELTA, which is set at 120. This is the threshold for action to be taken, and one such action (for example, scrolling one increment) should occur for each delta.
  38. The delta was set to 120 to allow Microsoft or other vendors to build finer-resolution wheels in the future, including perhaps a freely-rotating wheel with no notches. The expectation is that such a device would send more messages per rotation, but with a smaller value in each message. To support this possibility, you should either add the incoming delta values until WHEEL_DELTA is reached (so for a given delta-rotation you get the same response), or scroll partial lines in response to the more frequent messages. You could also choose your scroll granularity and accumulate deltas until it is reached.
  39.  


Diese Nachricht kannst Du mit
Code:
  1.  
  2. procedure WMMouseWheel(var Message : TWMMouseWheel); message WM_MOUSEWHEEL;
  3.  


abfangen und auswerten.

Gruß
KidPaddle

[Edit]
SoS war schneller, an die Eventfunktionen in TForm habe nicht mehr gedacht.

_________________
http://www.seban.de


Zuletzt geändert von KidPaddle am Sa Okt 11, 2003 16:42, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 11, 2003 16:41 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 29, 2002 13:24
Beiträge: 91
Wohnort: Oberhausen (NRW)
Danke für eure Hilfe. Ein dickes Sry @ SoS. Ich war glaub ich ein bissl benebelt. Ich sitz schon seit gestern morgen am Rechna und versuch ein paar Sachen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]