Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   OnMouseMove (https://www.delphipraxis.net/95708-onmousemove.html)

Erlkönig 11. Jul 2007 22:21


OnMouseMove
 
Hallo zusammen,

bestimmt ist diese Frage schon einmal im Forum beantwortet worden, aber ich kann keine passende Antwort auf meine Frage finden.

Mein Problem ist eigentlich ganz simpel. Ich möchte die Mausposition auf meiner Form1 in einer edit1.text ausgeben. Das habe ich auch soweit geschafft, nur das sich die Mauskoordinaten auf den gesamten Bildschirm und nicht nur auf die Form1 beschränken. Hierzu habe ich folgenden Quelltext genutzt:

Um es noch genauer zu formulieren, ich möchte dass in der oberen linken ecke die mausposition 0,0 beträgt.

Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
edit1.text := IntToStr(Mouse.CursorPos.x);
edit2.text := IntToStr(Mouse.CursorPos.Y);
end;

Ich hoffe es kann mir jdm helfen.

HalloDu 11. Jul 2007 22:27

Re: OnMouseMove
 
Wenn ich mich nicht schwer irre übergibt das Mausmove-Erreignis zwei Parameter der eine heißt X, der andere Y und die müssten dann die Koordinaten auf der Form sein.

Hoffe geholfen zu haben :mrgreen:

PS: Du hast die sogar da oben in dem Code stehen

Dunkel 11. Jul 2007 22:44

Re: OnMouseMove
 
Alternativ Hier im Forum suchenScreenToClient

HalloDu 11. Jul 2007 22:50

Re: OnMouseMove
 
Ja aber wenn das Ereignis das schon liefert muss man sich ja nicht die Mühe machen :mrgreen:

Erlkönig 12. Jul 2007 11:08

Re: OnMouseMove
 
ja die koordinaten beziehen sich aber auf den gesamten bildschirm.... ich wusste mal wie ich das anders machen muss aber irgendwie keine ahnung wie ich das jetzt machen muss

bitsetter 12. Jul 2007 11:20

Re: OnMouseMove
 
Zitat:

Zitat von Erlkönig
ja die koordinaten beziehen sich aber auf den gesamten bildschirm

Hi,

das verstehe ich jetzt aber nicht
Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  edit1.text := inttostr(X);
  edit2.text := inttostr(Y);
end;
X und Y beziehen sich doch auf das Formular.

HalloDu 12. Jul 2007 11:24

Re: OnMouseMove
 
Ja aber er hat X und Y vom Mouse Objekt bezogen, das sich ja auf den ganzen Bildschirm bezieht und nicht von dem Event.

bitsetter 12. Jul 2007 11:37

Re: OnMouseMove
 
Zitat:

Zitat von HalloDu
Ja aber er hat X und Y vom Mouse Objekt bezogen, das sich ja auf den ganzen Bildschirm bezieht und nicht von dem Event.

Hi,

das ist mir klar, daher habe ich jetzt mal den Code gepostet wovon du die ganze Zeit schon redest.

Erlkönig 12. Jul 2007 12:01

Re: OnMouseMove
 
danke @ bitsetter

genau das meinte ich!


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