![]() |
Einen Button zur aktuellen Mausposition setzen
Guten Morgen, kann mir zufällig jemand von euch sagen, wie ich es hinbekommen kann, das ein Button bei der aktuellen Mausposition auftaucht?
Ich hatte es so gemacht:
Delphi-Quellcode:
button1.Left:=mouse.CursorPos.x;
button1.Top:=mouse.CursorPos.y; allerdings geht das so nur wenn das Fenster maximiert ist. Hat da zufällig jemand eine Bessere Idee? |
Re: Einen Button zur aktuellen Mausposition setzen
ich würde sagen frag zuerst ab ob dein cursor auch in deinem fenster ist
kannst du ja über Height und Wight machen dann sag wenn er im fenster ist zeige ihn an dann müßte es auch mit kleineren fenstern gehen Tigermoon |
Re: Einen Button zur aktuellen Mausposition setzen
Delphi-Quellcode:
mal so aus dem Bauch heraus
button1.Left:=mouse.CursorPos.x-Form1.Left;
button1.Top:=mouse.CursorPos.y-Form1.Top; :angel: |
Re: Einen Button zur aktuellen Mausposition setzen
Mouse.CursorPos rechnet in Bildschirmkoordinaten waehrend Left und Top einer Komponente relativ zum Parent sind.
Zum Umrechnen gibt es die Methode ScreenToClient. Man muss natuerlich ScreenToClient des Parents des Buttons benutzen. Der Button wuerde ja auf sich selbst umrechnen. |
Re: Einen Button zur aktuellen Mausposition setzen
:oops: peinlich
Delphi-Quellcode:
hat gereicht :wall: da hätte ich auch drauf kommen können
button1.Left:=mouse.CursorPos.x-Form1.Left;
button1.Top:=mouse.CursorPos.y-Form1.Top; |
Re: Einen Button zur aktuellen Mausposition setzen
Hai commandah,
unter welchen Bedingungen soll der Button den "verschoben" werden? Wenn Du einfach das OnMouseDown deiner Form nimmst müsste es so gehen:
Delphi-Quellcode:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin btn_Button1.Left := X; btn_Button1.Top := y; end; |
Re: Einen Button zur aktuellen Mausposition setzen
wenn du nur die fesnterkoordinaten abziehst, stimmt es aber noch net ganz. sauber wäre screentoclient!
|
Re: Einen Button zur aktuellen Mausposition setzen
Wenns ihm reicht dann reichts auch! basta pff :warn:
|
Re: Einen Button zur aktuellen Mausposition setzen
Zitat:
passe mal bitte deinen Ton den gepflegenheiten der DP an. Sonst mache ich mal :warn: |
Re: Einen Button zur aktuellen Mausposition setzen
:roll:
@ALL Sorry, bin grad bissl genervt. Hab bei ner Form fsStayOnTop drin aber die macht das einfach nicht. :wall: Habs: SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); in das onDeactivate und es funzt :party: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:52 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 by Thomas Breitkreuz