AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mausrad

Ein Thema von JDS · begonnen am 25. Mai 2024 · letzter Beitrag vom 25. Mai 2024
Antwort Antwort
JDS

Registriert seit: 11. Feb 2013
3 Beiträge
 
#1

Mausrad

  Alt 25. Mai 2024, 08:29
Wer kann mir beim Abfragen des Mausrads helfen?
Das Abfragen der Mausbuttons klappt bei mir. Jetzt fehlt das Rad.
T: 8914539
John-Dirk.Schneider@t-online.de

Vielen Dank! Aber "TForm1" ist unbekannt!

Geändert von JDS (25. Mai 2024 um 18:41 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#2

AW: Mausrad

  Alt 25. Mai 2024, 09:15
Delphi-Quellcode:
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
  if WheelDelta > 0 then
    ShowMessage('Mausrad nach oben gedreht')
  else
    ShowMessage('Mausrad nach unten gedreht');
end;

procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
  ShowMessage('Mausrad nach oben gedreht');
  Handled := True;
end;

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
  ShowMessage('Mausrad nach unten gedreht');
  Handled := True;
end;
Der Parameter WheelDelta gibt an, in welche Richtung das Mausrad gedreht wurde. Ein positiver Wert bedeutet, dass das Rad nach oben gedreht wurde, während ein negativer Wert bedeutet, dass das Rad nach unten gedreht wurde.
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
504 Beiträge
 
Delphi 12 Athens
 
#3

AW: Mausrad

  Alt 25. Mai 2024, 21:33
Und um sinnvoll mit dem Wert zu arbeiten teile ich normalerweise noch durch WHEEL_DELTA. Also:

Delphi-Quellcode:
var
  WheelOffset: Single;
begin
  WheelOffset := WheelDelta / WHEEL_DELTA;
  ...
end;
Oder falls es mit Botschaftsverarbeitung sein soll:

Delphi-Quellcode:
interface

class TSomething(must be a successor of WinControl)
protected
  procedure WMMouseWheel(var AMsg: TWMMouseWheel); message WM_MOUSEWHEEL;
end;

implementation

procedure TSomething.WMMouseWheel(var AMsg: TWMMouseWheel);
// mouse wheel
var
  WheelOffset: Single;
begin
  inherited;

  WheelOffset := AMsg.WheelDelta / WHEEL_DELTA;
  ...
end;
TSomething sollte dann natürlich irgendwo von TWinControl abgeleitet worden sein...
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)

Geändert von BigAl (25. Mai 2024 um 21:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Mausrad

  Alt 25. Mai 2024, 23:58
Vielen Dank! Aber "TForm1" ist unbekannt!
Das war lediglich ein Beispiel. Du musst die Ereignisse in deinem Formular zuweisen:
OnMouseWheel, OnMouseWheelUp, OnMouseWheelDown, ...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort


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 +1. Es ist jetzt 06:07 Uhr.
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