AGB  ·  Datenschutz  ·  Impressum  







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

Mouse absolute Position ermitteln!

Ein Thema von R2009 · begonnen am 5. Apr 2009 · letzter Beitrag vom 5. Apr 2009
Antwort Antwort
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#1

Mouse absolute Position ermitteln!

  Alt 5. Apr 2009, 08:43
Hi,
hab ein ganz triviales Problem:
ich möchte ein tpicture mit Hilfe des Mauszeigers bewegen.

Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  label1.caption:=inttostr(x);
  label2.caption:=inttostr(y);
  image2.Left:=x;
  image2.Top:=y;
end;
klappt auch dganz gut solange ich den Mauszeiger ausserhalb des pictures halte. Wie kriege ich die aktuelle Position des Mauszeiger unabhängig ob der sich jetzt direkt über der Form oder über einem beliebigen Steuerelement befindet.
Ich will die Position immer relativ zur Form.

Danke!
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Mouse absolute Position ermitteln!

  Alt 5. Apr 2009, 08:47
Hallo, z.B mit der TApplicationEvents Komponente.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Mouse absolute Position ermitteln!

  Alt 5. Apr 2009, 08:55
Die Methoden ScreenToClient und ClientToScreen sind dein Freund ...
Einfach mal in der OH nachschauen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
fui-tak

Registriert seit: 24. Okt 2008
117 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Mouse absolute Position ermitteln!

  Alt 5. Apr 2009, 10:39
Du könntest dir hiermit was zurechtbasteln:

Mouse.CursorPos.X
Mouse.CursorPos.Y

Hier erhälst du die Koordinaten auf dem Bildschirm
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Mouse absolute Position ermitteln!

  Alt 5. Apr 2009, 10:59
Zitat von fui-tak:
Hier erhälst du die Koordinaten auf dem Bildschirm
Er möchte sie aber relativ zu seiner Form
und da müßte er dann ebenfalls ScreenToClient nutzen, um es umzuwandeln.

Ich würde hier aber ClientToParent verwenden ... alles Andere wären nur unnötige Umwege.

Delphi-Quellcode:
// Image1 leitet seinen Aufruf an Form1 weiter
Procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
  Var P: TPoint;

  Begin
    P.X := X;
    P.Y := Y;
    P := ClientToParent(P, Form1);
    Form1.OnMouseMove(Sender, Shift, P.X, P.Y)
  End;
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 21:21 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