Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Maus auf Mitte einer Komponente setzen (https://www.delphipraxis.net/120345-maus-auf-mitte-einer-komponente-setzen.html)

kurtm1 9. Sep 2008 19:14


Maus auf Mitte einer Komponente setzen
 
Wie kann ich die Mausposition auf die Mitte einer Komponente setzen? (unabhängig davon wie groß die Form/Komponente ist, bzw. wo diese positioniert ist)

Ich habe es mit folgendem Kommando probiert:

Delphi-Quellcode:
Mouse.CursorPos:=Point(form2.left+Panel1.left+(Panel1.width div 2),form2.Top+Panel1.Top+(Panel1.Height div 2)+GetSystemMetrics(SM_CYCAPTION) + GetSystemMetrics(SM_CYSIZEFRAME));
Die Y Koordinate dürfte so ok sein, die X Koordinate ist jedoch ein wenig zu weit links.

Gibt es eine bessere Möglichkeit?

Neutral General 9. Sep 2008 19:18

Re: Maus auf Mitte einer Komponente setzen
 
Hi,

So gehts:

Delphi-Quellcode:
// Maus soll in die Mitte von Panel1
var p: TPoint;
begin
  P.x := (Panel1.Width div 2);
  P.y := (Panel1.Height div 2);
  Mouse.CursorPos := Panel1.ClientToScreen(P);
end;

DeddyH 9. Sep 2008 19:20

Re: Maus auf Mitte einer Komponente setzen
 
Ungetestet:
Delphi-Quellcode:
var p: TPoint;
begin
  p := Panel.ClientToScreen(Panel.Width div 2, Panel.Height div 2);
  SetCursorPos(p.X,p.Y);
end;
[edit] *Oops*, da war der General schneller [/edit]

kurtm1 9. Sep 2008 19:22

Re: Maus auf Mitte einer Komponente setzen
 
perfekt, danke!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz