Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mouse (https://www.delphipraxis.net/67165-mouse.html)

netscanner 10. Apr 2006 16:00


Mouse
 
Hallo,
ich wollte mal fragen ob folgendes möglich ist - und wenn ja wie?

Wenn ich die Mouse nach oben bewege soll procedure1 ausgeführt werden...
Wenn ich die Mouse nach unten bewege soll procedure2 ausgeführt werden...
Wenn ich die Mouse nach rechts bewege soll procedure3 ausgeführt werden...
Wenn ich die Mouse nach links bewege soll procedure4 ausgeführt werden...

faux 10. Apr 2006 16:04

Re: Mouse
 
Hallo!

Würde es so lösen (es gibt 100% eine bessere Lösung):
Delphi-Quellcode:
var
  PreviousCoords: TPoint;

...

procedure TFormx.OnMouseMove(Sender: TObject; X, Y: Integer ...);
begin
  if (PreviousCoords.X < X) then
  begin
    //nach links
  end
  else if (PreviousCoords.X > X) then
  begin
    //nach rechts
  end;
  if (PreviousCoords.Y < Y) then
  begin
    //nach oben
  end
  else if (PreviousCoords.Y > Y) then
  begin
    //nach unten
  end;
  PreviousCoords.Y = Y;
  PreviousCoords.X = X;
end;
Grüße
Faux

Alexander Roth 10. Apr 2006 16:06

Re: Mouse
 
Aber du bekommst ja immer die position zurück.
Dann ruft du einfach eine procedure auf die diese Position der maus mit der letzten vergleicht und entsprechend deine procedures ausführt.

PS: Dummer roter Kasten.

PPS: die Lösung von faux ist natürlich noch eleganter.

faux 10. Apr 2006 16:09

Re: Mouse
 
Zitat:

Zitat von Alexander Roth
Dann ruft du einfach eine procedure auf die diese Position der maus mit der letzten vergleicht und entsprechend deine procedures ausführt.
PPS: die Lösung von faux ist natürlich noch eleganter.

Meine Lösung ist eigentlich äquivalent zu deiner, oder?!

Grüße
Faux

RavenIV 10. Apr 2006 16:12

Re: Mouse
 
bau dir Methoden im Stil von
Delphi-Quellcode:
  private
    procedure WMChar(var Message: TWMChar); message WM_CHAR;
Dann gehtst du mit dem Cursor auf "message" und drückst F1.
Nun liesst Du dir die Hilfe durch.

Wenn weitere Fragen sind, darfst du gerne wiederkommen...

gruessle


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 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