Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Maus positionieren Problem

  Alt 13. Jul 2011, 21:23
Zitat:
Delphi-Quellcode:
var
  MousePos: TPoint;
begin
    MousePos.X := Button1.Left + Button1.Width div 2;
    MousePos.Y := Button1.Top + Button1.Height div 2;
    Mouse.CursorPos := ClientToScreen(MousePos);
end;
ClientToScreen ist eine nette Methode und nicht irgendeine billige Funktion.
Hier fragst du die Form (Self.ClientToScreen), mit der Client-Position des Buttons ... eventuell rechnet ClientToScreen der Form aber nicht mit der Clientposition, sondern mit der Fensterposition?
Und dein Fenster hat doch bestimmt einen Rahmen+Titelleiste?

Warum fragst du nicht also direkt den Button?
Delphi-Quellcode:
var
  MousePos: TPoint;
begin
    MousePos.X := Button1.Width div 2;
    MousePos.Y := Button1.Height div 2;
    Mouse.CursorPos := Button1.ClientToScreen(MousePos);
end;
Nja, ansonsten kann es gut sein, daß Form/Button nochmal etwas verschoben werden, bevor es angezeigt wird.



Deshalb stimme ich Luckie vollkommen zu.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (13. Jul 2011 um 21:26 Uhr)
  Mit Zitat antworten Zitat