Mousewheeldown wird 3 x duchlaufen.

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

Mousewheeldown wird 3 x duchlaufen.

Beitragvon haderlump » 25. Mär 2018, 03:42 Mousewheeldown wird 3 x duchlaufen.

Hallo zusammen Ich habe wieder mal einen rätselhaften Effekt.
Ich möchte per Mousewhel den inhalt eines Editfeldes (lcvParameter)verändern. Dazu habe ich folgendes programmiert:
Code: Alles auswählen
procedure TCV_Form.lcvParameterMouseWheelDown(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var
  wert:0..255;
begin
   wert := strToInt(lcvParameter.text);
   if wert > 0 then
      wert -= 1;
   lcvParameter.Text:= IntToStr(wert);
end;
 
procedure TCV_Form.lcvParameterMouseWheelUp(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var
  wert:0..255;
begin
   wert := strToInt(lcvParameter.text);
   if wert < 255 then
      wert += 1;
   lcvParameter.Text:= IntToStr(wert);
end;           

Komischerweise wird jede der beiden Proceduren 3x ausgeführt, was natürlich dazu führt, dass sich der Wert in 3er Schritten verändert. Ich habe keine Erklärung dafür,
Ich habe es auch schon mit der Procedure onMousewheel probiert, der gleiche Effekt.
Habt Ihr eine Ahnung?
Ich habe auch Lazarus neu gestartet, hat auch nichts gebracht..

Gruß Fritz
haderlump
 
Beiträge: 101
Registriert: 18. Jan 2013, 09:29
OS, Lazarus, FPC: Widows XP, Lazarus 1.6 | 
CPU-Target: Celeron
Nach oben

Beitragvon Mathias » 25. Mär 2018, 16:05 Re: Mousewheeldown wird 3 x duchlaufen.

Komischerweise wird jede der beiden Proceduren 3x ausgeführt, was natürlich dazu führt, dass sich der Wert in 3er Schritten verändert. Ich habe keine Erklärung dafür,
Ich habe es auch schon mit der Procedure onMousewheel probiert, der gleiche Effekt.
Habt Ihr eine Ahnung?
Ich habe es bei mir probiert, es wird genau einmal aufgerufen.
Dies könnte am OS und Maus-Treiber liegen.
Hast du evtl. in der Systemsteuerung vom OS etwa an deiner Maus verstellt ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4324
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Achtzig » 25. Mär 2018, 18:30 Re: Mousewheeldown wird 3 x duchlaufen.

Müßte da nicht zum Abschluß noch Handled auf True gesetzt werden?
Achtzig
 
Beiträge: 89
Registriert: 15. Okt 2007, 12:09
OS, Lazarus, FPC: Debian | 
CPU-Target: xxBit
Nach oben

Beitragvon siro » 25. Mär 2018, 20:45 Re: Mousewheeldown wird 3 x duchlaufen.

Ich hatte das gleiche Problem:

Das MouseWheel Problem lag direkt bei Lazarus
Das Problem wurde in v1.8.0 RC4 behoben....

Sobald eine Komponten den Fokus hat, wurden MouseWheel Ereignisse dreifach aufgerufen.

https://www.lazarusforum.de/viewtopic.php?f=19&t=11073
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
siro
 
Beiträge: 305
Registriert: 23. Aug 2016, 13:25
Wohnort: Berlin
OS, Lazarus, FPC: Windows 7 Windows 8.1 Windows 10 | 
CPU-Target: 64Bit
Nach oben

• Themenende •

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 7 Gäste

cron
porpoises-institution
accuracy-worried