Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mausrad simulieren (https://www.delphipraxis.net/106768-mausrad-simulieren.html)

Gehstock 16. Jan 2008 12:19


Mausrad simulieren
 
nach oben klappt so wie es soll aber nach unten versuche ich mit
Delphi-Quellcode:
mouse_event(MOUSEEVENTF_WHEEL,0,0,-120,0);
was aber zu
Zitat:

[DCC Fehler] Maus.pas(61): E1012 Konstantenausdruck verletzt untere Grenzen
führt. Hat jemand ne Idee dazu?

Klaus01 16. Jan 2008 12:29

Re: Mausrad simulieren
 
Mahlzeit,

schau Dir im msdn2 mal die dwFlags bzw. dwData an.

Laut der Beschreibung sind dort negaive Werte erlaubt.
Aber ob -120 erlaubt ist?

Grüße
Klaus

Gehstock 16. Jan 2008 12:34

Re: Mausrad simulieren
 
auch -1 führt zum selben ergebnis

taaktaak 16. Jan 2008 12:41

Re: Mausrad simulieren
 
Moin, Moin,
hatte das bei MSDn auch gelesen. Seltsam ist aber, dass dwData als DWord deklariert ist - das passt nun eigentlich gar nicht zu der Aussage, dass man hier auch negative Werte eingeben kann. Kann man vielleicht mit DWord(-129) arbeiten??
Gruß Ralph
// jooo, das wird übersetzt - funktioniert es dann auch???????????

Gehstock 16. Jan 2008 12:44

Re: Mausrad simulieren
 
So geht das Danke
Delphi-Quellcode:
mouse_event(MOUSEEVENTF_WHEEL,0,0,DWord(-120),0);

taaktaak 16. Jan 2008 12:45

Re: Mausrad simulieren
 
Prima!!!

DeddyH 16. Jan 2008 12:46

Re: Mausrad simulieren
 
Da wär ich ehrlich gesagt nie drauf gekommen (ist aber auch ausgesprochen dämlich implementiert).

Dunkel 16. Jan 2008 17:33

Re: Mausrad simulieren
 
Zitat:

Zitat von Gehstock
So geht das Danke
Delphi-Quellcode:
mouse_event(MOUSEEVENTF_WHEEL,0,0,DWord(-120),0);

Öhh... ist DWORD nicht vorzeichenlos? :gruebel: Was passiert dann beim Casten eines Integers nach DWORD im obigen Fall? Wird doch eigentlich nur das Minus "abgeschnitten", oder? Wie scrollt man dann in die andere Richtung?

Aber wenn's so funktioniert... :?

taaktaak 16. Jan 2008 17:55

Re: Mausrad simulieren
 
Moin Dunkel,
das ist eine berechtigte Frage die ich mir auch schon gestellt habe: Wandle mal -120 in eine DWord-Variable und zeige das Ergebnis an. Bei mir bleibt es bei -120 !!??. Bestimmt gibt es hier im Forum einen Wissenden, der das erklären kann - das würde mich auch mal interessieren!!
Gruß Ralph

DeddyH 16. Jan 2008 18:01

Re: Mausrad simulieren
 
Bei mir bleibt das keineswegs auf -120, sondern wird durch Überlauf (eigentlich ja eher "Unterlauf") zu 4294967176.
Kleiner Test:
Delphi-Quellcode:
ShowMessage(inttostr(DWord(-120)) + #13#10 + inttostr(MAXDWORD - 119));


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:33 Uhr.
Seite 1 von 2  1 2      

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