AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Einen Button zur aktuellen Mausposition setzen
Thema durchsuchen
Ansicht
Themen-Optionen

Einen Button zur aktuellen Mausposition setzen

Ein Thema von commandah · begonnen am 15. Nov 2005 · letzter Beitrag vom 15. Nov 2005
Antwort Antwort
commandah

Registriert seit: 9. Sep 2005
25 Beiträge
 
#1

Einen Button zur aktuellen Mausposition setzen

  Alt 15. Nov 2005, 10:57
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?
cu
  Mit Zitat antworten Zitat
Tigermoon

Registriert seit: 11. Mär 2005
Ort: Baumholder
100 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Einen Button zur aktuellen Mausposition setzen

  Alt 15. Nov 2005, 11:05
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
Stephanie
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Einen Button zur aktuellen Mausposition setzen

  Alt 15. Nov 2005, 11:08
Delphi-Quellcode:
button1.Left:=mouse.CursorPos.x-Form1.Left;
button1.Top:=mouse.CursorPos.y-Form1.Top;
mal so aus dem Bauch heraus
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: Einen Button zur aktuellen Mausposition setzen

  Alt 15. Nov 2005, 11:10
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.
  Mit Zitat antworten Zitat
commandah

Registriert seit: 9. Sep 2005
25 Beiträge
 
#5

Re: Einen Button zur aktuellen Mausposition setzen

  Alt 15. Nov 2005, 11:13
peinlich
Delphi-Quellcode:
button1.Left:=mouse.CursorPos.x-Form1.Left;
button1.Top:=mouse.CursorPos.y-Form1.Top;
hat gereicht da hätte ich auch drauf kommen können
cu
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Einen Button zur aktuellen Mausposition setzen

  Alt 15. Nov 2005, 11:16
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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Schubi

Registriert seit: 4. Nov 2003
Ort: Happurg (Nürnberg)
331 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Einen Button zur aktuellen Mausposition setzen

  Alt 15. Nov 2005, 11:17
wenn du nur die fesnterkoordinaten abziehst, stimmt es aber noch net ganz. sauber wäre screentoclient!
Christian Schubert
Ich fange gerade erst an, den Umfang meiner Ahnungslosigkeit zu begreifen...
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Einen Button zur aktuellen Mausposition setzen

  Alt 15. Nov 2005, 11:30
Wenns ihm reicht dann reichts auch! basta pff
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Einen Button zur aktuellen Mausposition setzen

  Alt 15. Nov 2005, 11:34
Zitat von Angel4585:
Wenns ihm reicht dann reichts auch! basta pff
Hey,

passe mal bitte deinen Ton den gepflegenheiten der DP an. Sonst mache ich mal
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Einen Button zur aktuellen Mausposition setzen

  Alt 15. Nov 2005, 11:39

@ALL

Sorry, bin grad bissl genervt. Hab bei ner Form fsStayOnTop drin aber die macht das einfach nicht.

Habs:
SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height,
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
in das onDeactivate und es funzt

Martin Weber
Ich bin ein Rüsselmops
  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 10:29 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