AGB  ·  Datenschutz  ·  Impressum  







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

onMouseWheel-Ereignis nur einmal

Ein Thema von himitsu · begonnen am 12. Apr 2004 · letzter Beitrag vom 12. Apr 2004
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#1

onMouseWheel-Ereignis nur einmal

  Alt 12. Apr 2004, 17:32
Moin ihr Wissenden.

Also ich verwende mal wieder dieses nette, im Form eingebaute Mausereignis für's Scrollrad und "leider" wird ja das Ereignis immer mehrmals aufgerufen. Also je nachdem, was in Windows/Maustreiber eingestellt ist (bei mir jeweils 3-mal pro Scrolleinheit, oder wie man das nennt).

Ich möchte das Scrollrad aber nicht zum Scrollen verwenden, wo dieses Verhalten ja nicht so stört, sondern zum weiterschalten eines Zählers. und da macht sich das nicht so gut.


Und nun meine Frage: Wie kann ich es also anstellen, so dass das Ereignis nur einmal aufgerufen wird, oder wie man das sonst noch beheben kann?


Ich könnte das ja über einen internen Zähler beheben, aber das Intervall zum Auslösen des Ereignisses von Hand einzustellen ist auch nicht Ideal.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#2

Re: onMouseWheel-Ereignis nur einmal

  Alt 12. Apr 2004, 17:40
du zählst ne variable hoch, ist diese bei 3 angelangt setzt du sie wieder auf 0 und deinen Zähler um eins hoch.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Markus K.

Registriert seit: 26. Jan 2004
Ort: Halle
346 Beiträge
 
Delphi 2005 Personal
 
#3

Re: onMouseWheel-Ereignis nur einmal

  Alt 12. Apr 2004, 17:41
Hallo himitsu,
vielleicht hilft dir die Eigenschaft WheelAccumulator weiter.
Delphi-Quellcode:
begin
     WheelAccumulator:=1;
end;
Tschüß Markus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#4

Re: onMouseWheel-Ereignis nur einmal

  Alt 12. Apr 2004, 17:50
WheelAccumulator hilft leider auch nichts - es ändert sich nichts.


@MrKnogge:
Das könnte ich ja machen, aber wenn das Programm z.B. auf 'nem anderen Rechner, also mit 'nem anderen Wert im Treiber/Windows läuft, dann stimmt es beim Zählen nicht mehr.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#5

Re: onMouseWheel-Ereignis nur einmal

  Alt 12. Apr 2004, 18:07
man kann doch bestimmt herausfinden, wieviele Schritte pro Scrolleinheit ausgeführt werden sollen.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Markus K.

Registriert seit: 26. Jan 2004
Ort: Halle
346 Beiträge
 
Delphi 2005 Personal
 
#6

Re: onMouseWheel-Ereignis nur einmal

  Alt 12. Apr 2004, 18:10
Hier ist noch eine andere Variante von mir.
Delphi-Quellcode:
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
     if Handled=False then
     begin
          Edit1.Text:=IntToStr(StrToInt(Edit1.Text)+1);
          Handled:=True;
     end;
end;
Tschüß Markus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#7

Re: onMouseWheel-Ereignis nur einmal

  Alt 12. Apr 2004, 18:11
Ich könnte ja über die Zeit messen, wieviele Schritte gemacht werden - also so lange zählen, bis mal 'ne größere Pause zwischen den Aufrufen ist, aber dann geht die Funktion nicht von Anfang an richtig.

Deshalb hoffe ich ja, dass es eine bessere Möglichkeit gibt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#8

Re: onMouseWheel-Ereignis nur einmal

  Alt 12. Apr 2004, 18:19
Jo, das hilft,

aber bei mir reicht es schon zu, wenn ich nurHandled := True; in die Prozedur aufnehme.

Die If-Abfrage brauch ich nicht, es geht auch so.



Also Danke für die Hilfe.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 14:19 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