![]() |
nochmal mousemove
Hallo!
Ich bin absoluter Delphi-Neuling und hätte eine Frage zu dem schon oft behandelten Thema mousemove Ich wäre froh wenn mir jemand einen Hinweis geben könnte wieso die Koordinaten des Mauszeigers beim Drücken auf den Button in den beiden Labels angezeigt werden und beim "Mousemove" nicht. Sollte nicht bei jeder Bewegung der Maus die aktuellen Koordinaten in die Label 3 und 4 geschrieben werden? Schonmal Vielen Dank!
Delphi-Quellcode:
unit Mauskoordinaten;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Button1: TButton; Label3: TLabel; Label4: TLabel; procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer); var P: TPoint; begin GetCursorPos(P); Label3.Caption := 'X: ' + InttoStr(P.x); Label4.Caption := 'Y: ' + InttoStr(P.y); end; procedure TForm1.Button1Click(Sender: TObject); var P: TPoint; begin GetCursorPos(P); Label1.Caption := 'X: ' + InttoStr(P.x); Label2.Caption := 'Y: ' + InttoStr(P.y); end; end. |
Re: nochmal mousemove
Hi und herzlich Willkommen, Tschief!
Solange Du mit der Maus auf der Form bist, sollte es einwandfrei funktionieren. Außerhalb der Form funktioniert das natürlich nicht mehr. Mit Form meine ich wirklich Deine Form. Wenn Du über einem Button, einem Label etc. pp. bist, funktioniert das ganze auch nicht mehr. Du könntest es aber z.B. per Timer alle 100ms abfragen. |
Re: nochmal mousemove
Danke für die Begrüßung und die schnelle Antwort!
Ich probier das ja nun hin und wieder seit ein paar Tagen schon in den verschiedensten Varianten aber mousemove funktioniert einfach nicht. Vielleicht sollte ich noch etwas zu meiner Softwareaustattung sagen...? Habe hier 2 verschiedene Rechner mit Delphi 7 Personal Edition und habe mir heute extra die CodeGear™ Delphi® 2007 für Win32® 30-Tage-Testversion installiert um auszuschließen, daß es an der Personal Edition liegt. Aber auf keinem der beiden Rechner und auf keiner der beiden Delphi-Versionen funktioniert mousemove... Könnte es an irgendeiner fehlenden Unit liegen? Aber dann würde Delphi ja sicher beim kompilieren meckern? Dann werd ich das mal mit dem Timer probieren. Vielleicht kann der da was erzwingen. |
Re: nochmal mousemove
Hi,
Du willst nur die Position der Maus in ein Label schreiben? Egal wo sich die Maus befindet? [edit]Hast Du das Ereignis überhaupt der Form zugewiesen?[/edit] |
Re: nochmal mousemove
Zitat:
Wie gesagt... Blutiger Anfänger! Also ich hab schon noch mehr mit den Mauskoordinaten vor aber zuerst mußte ich ja mal sehen, daß ich die überhaupt bekomme. |
Re: nochmal mousemove
Macht nichts, passiert. :zwinker:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 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