mousemove

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
haderlump
Beiträge: 185
Registriert: Fr 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
CPU-Target: Celeron

mousemove

Beitrag von haderlump »

hallo zusammen
Ich habe ein Bild in meiner Anwendung und nutze dort das Ereignis Gleisbild.mousemove(......)
Dieses Event ist von Lazarus vorgegeben. in der Parameterliste stehen da die Variablen X und Y als Integer. wofür sind die denn gut, die Mauskoordinaten liefern sie mir auf jeden Fall nicht, die hole ich mir über mouse.Curserposition.x und mouse.Curserposition.y. Es geht auch alles, nur der Compiler bringt die Hinweise dass X und Y not used sind.
Solche Hinweise gibt es öfters. kann man diese irgendwo ausschalten. Wertvollere Hinweise bezüglich eigenere Proceduren gehen sonst vielleicht unter.

Gruß Fritz

Mathias
Beiträge: 6143
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: mousemove

Beitrag von Mathias »

Dieses Event ist von Lazarus vorgegeben. in der Parameterliste stehen da die Variablen X und Y als Integer. wofür sind die denn gut, die Mauskoordinaten liefern sie mir auf jeden Fall nicht

Bei mir liefern sie exakt die Koordinaten zurück, sie sind Lokal auf dem Bild. Link-Oben im Bild(TImage) ist 0,0.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: mousemove

Beitrag von wp_xyz »

Die Koordinaten, die einem Event mitgegeben werden, sind relativ zum Objekt, das das Ereignis ausgelöst hat. Und das ist sehr sinnvoll, denn man braucht die relativen Koordinaten, um z.B. bei einem Button mit Icon feststellen zu können, ob der Click auf dem Icon erfolgte oder sonst irgendwo auf dem Icon. Andernfall müsste man je nach Fensterposition immer wieder umrechnen.

Die vielen Hinweise sind manchmal lästig, aber eigentlich als Hilfe gedacht, um Programmfehler aufzuspüren. Wenn ich an eine Methode z.B einen Item einer Listview als Parameter übergebe, verschreibe mich aber und gebe Items an, so kann (natürlich je nach Kontext) dies vom Compiler akzeptiert werden, weil es Items ja auch gibt; das programm wird sich aber nicht so verhalten wie gewünscht. Durch den Hinweis, dass Item nicht verwendet wird, kann man den Fehler vielleicht schneller finden.

Um Hinweise auzuschalten, musst du nur mit der rechten Maustaste auf dem Hinweis im Nachrichtenfenster klicken, dann erhältst du im Kontextmenü mehrere Optionen, die Meldung fur für diese Zeile, für die ganze Unit oder das ganze Projekt auszuschalten.

haderlump
Beiträge: 185
Registriert: Fr 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
CPU-Target: Celeron

Re: mousemove

Beitrag von haderlump »

Danke, jetzt gehts. Weiß jetzt nicht mehr was ich falsch gemacht hatte.

wp_xyz Danke der Hinweis war sehr wertvol für mich.

Antworten