Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi cursor position anzeigen (https://www.delphipraxis.net/9492-cursor-position-anzeigen.html)

Wadim 27. Sep 2003 17:08

Re: cursor position anzeigen
 
Zitat:

Zitat von Luckie
Vielleicht: "Position der Einfügemarke in einem Edit"?

das meine ich ja nicht- ich meine die position des mauszeiger im bildschirm- z.b 500, 480 oder sowas- also nicht im programm oder sonst wo- sondern im gesamten bildschirm

Daniel B 27. Sep 2003 17:13

Re: cursor position anzeigen
 
Zitat:

Zitat von Wadim
kennt jemand eine befehl womit man die position des mauszeiger per button klick anzeigen kann?

Sie wird genau über dem Button sein, wenn Du mit der Maus draufklickst, war das jetzt ne Fangfrage? :lol:

Spass beiseite... =) ;)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := IntToStr(Mouse.CursorPos.X) + ',' + IntToStr(Mouse.CursorPos.X);
end;

Wadim 27. Sep 2003 17:18

Re: cursor position anzeigen
 
Zitat:

Zitat von Daniel B
Zitat:

Zitat von Wadim
kennt jemand eine befehl womit man die position des mauszeiger per button klick anzeigen kann?

Sie wird genau über dem Button sein, wenn Du mit der Maus draufklickst, war das jetzt ne Fangfrage? :lol:

Spass beiseite... =) ;)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := IntToStr(Mouse.CursorPos.X) + ',' + IntToStr(Mouse.CursorPos.X);
end;

korreckt- genau das meinte ich :P

danke und schönen tag noch

Christian Seehase 27. Sep 2003 17:18

Re: cursor position anzeigen
 
Moin Wadim,

da sehe ich zwei Möglichkeiten:

Delphi-Quellcode:
var
  ptWork : TPoint;

begin
  // So wie's auch geht:
  Edit1.Text := IntToStr(Mouse.CursorPos.x) + 'x' + IntToStr(Mouse.CursorPos.y);
  // So wie Luckie es meinte
  GetCursorPos(ptWork);
  Edit2.Text := IntToStr(ptWork.x) + 'x' + IntToStr(ptWork.y);
end;
Das Ergebnis ist, zwangsläufig, das gleiche.

Was hast Du denn genau vor.
Das über einen ButtonClick zu machen erscheint mir nicht wirklich sinnvoll, da dadurch die möglichen Koordinaten ja doch recht eingeschränkt sind.

Wadim 27. Sep 2003 17:24

Re: cursor position anzeigen
 
Zitat:

Zitat von Christian Seehase
Moin Wadim,

da sehe ich zwei Möglichkeiten:

Delphi-Quellcode:
var
  ptWork : TPoint;

begin
  // So wie's auch geht:
  Edit1.Text := IntToStr(Mouse.CursorPos.x) + 'x' + IntToStr(Mouse.CursorPos.y);
  // So wie Luckie es meinte
  GetCursorPos(ptWork);
  Edit2.Text := IntToStr(ptWork.x) + 'x' + IntToStr(ptWork.y);
end;
Das Ergebnis ist, zwangsläufig, das gleiche.

Was hast Du denn genau vor.
Das über einen ButtonClick zu machen erscheint mir nicht wirklich sinnvoll, da dadurch die möglichen Koordinaten ja doch recht eingeschränkt sind.

das mit dem button click ist schon klar- habe es nur mit button gefragt damit ich das nicht genauer beschreiben muss was ich machen mus- mache es mit timer damit er es jede sec aktuell anzeigt :wink:

fkerber 27. Sep 2003 17:27

Re: cursor position anzeigen
 
Hi!

Vielleicht wäre es besser, wenn du es anzeigst, wenn die maus sich ändert, sonst bleibt es ja eh gleich! Also bei mousemove, oder?

ciao fkerber

Wadim 27. Sep 2003 17:31

Re: cursor position anzeigen
 
Zitat:

Zitat von fkerber
Hi!

Vielleicht wäre es besser, wenn du es anzeigst, wenn die maus sich ändert, sonst bleibt es ja eh gleich! Also bei mousemove, oder?

ciao fkerber

ich mache es mit einem timer der mir ein einem label1 = x und label2 = y , jede sec den aktuellen stand der maus anzeigt- das geht doch auch oder?

Helpliner 27. Sep 2003 17:33

Re: cursor position anzeigen
 
Wäre es nicht irgendwie sinnvoller das über ein OnTimer Event abzufragen ? Weil beim OnClick Event eines Buttons der Mauszeiger ja zwangsläufig über dem Button liegt (es sei denn der Button hat den Focus und du betätigst Ihn über Enter), das schränkt die Position doch arg ein.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Label1.Caption := IntToStr(Mouse.CursorPos.X) + ',' + IntToStr(Mouse.CursorPos.X);
end;
Profi-Tipp !!! :gruebel:
Solltest du per Button jede Position der Maus ausgeben wollen kannst du das Button ja wie folgt dimensionieren:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
 Form1.Left := 0;
 Form1.Width := Screen.Width;
 Button1.Left := 0;
 Button1.Width := Screen.Width;
 Form1.Top := 0;
 Form1.Height := Screen.Height;
 Button1.Top := 0;
 Button1.Height := Screen.Height;
end;
...und das Ergebniss der Mausposition weist du dem Button als "Caption" zu
:hello: :hello: :hello: :hello: :hello: :hello:

Ricane 8. Dez 2003 15:36

Re: cursor position anzeigen
 
Moin,

wie ist es denn möglich die Cursor Position innerhalb eines bestimmten Steuerelementes festzustellen?

So kriege ich ja immer die Position der Mouse auf dem Bildschirm!


Thx und Grüsse,


Ricane

fkerber 8. Dez 2003 16:26

Re: cursor position anzeigen
 
Hi!

in nem Richedit z.B. so:

Delphi-Quellcode:
procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
// in die Statusbar wird die Cursorposition geschrieben
  StatusBar1.Panels.Items[0].Text := 'Cursor: ' +
// Zeile bestimmen
  IntToStr(SendMessage(RichEdit1.Handle, EM_LINEFROMCHAR,
  RichEdit1.SelStart,0)+1) + ' : ' +
// Spalte bestimmen
  IntToStr(RichEdit1.SelStart-SendMessage(RichEdit1.Handle,
  EM_LINEINDEX, SendMessage(RichEdit1.Handle,
  EM_LINEFROMCHAR,
  RichEdit1.SelStart, 0), 0)+1);
end;
hier ist google dein Freund :lol:

ciao fkerber


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 Uhr.
Seite 2 von 2     12   

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