![]() |
Rahmenwahl und Cursorstandpunkte
Und wieder einmal haben wir zwei Fragen:
Code:
Mit hoffe auf rasche Antwort,
procedure TForm1.Position(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin canvas.textout(clientwidth-70, clientheight-15, 'X:'); canvas.textout(clientwidth-60, clientheight-15, inttostr(X)); canvas.textout(clientwidth-30, clientheight-15, 'Y:'); canvas.textout(clientwidth-20, clientheight-15, inttostr(Y)); end; Andi und Philipp |
Re: Rahmenwahl und Cursorstandpunkte
Das MouseMove-Event in Form1 abgefangen
Delphi-Quellcode:
TForm1 = class( TForm)
private ... procedure WMMouseMove(var Message: TWMMouseMove); message WM_MOUSEMOVE; ... end; procedure TForm1.WMMouseMove(var Message: TWMMouseMove); begin inherited; (* Methodenaufruf zu dem Code einfügen *) end; |
Re: Rahmenwahl und Cursorstandpunkte
Ich würds mit zwei TLabels machen und dann label1.caption:=mouse.cursorpos.x-form1.left und label2.caption:=mouse.cursorpos.y-form1.top. Müsste klappen, ich hab vor kurzem so was ähnliches gemacht.
|
Re: Rahmenwahl und Cursorstandpunkte
Oder auch:
Delphi-Quellcode:
var RelPosition: TPoint;
begin RelPosition := ScreenToClient(Mouse.CursorPos); //Methode von Form1, sonst Form1.ScreenToClient Label1.Caption := Format('%d , %d',[RelPosition.X, RelPosition.Y]); end; |
Re: Rahmenwahl und Cursorstandpunkte
Leider funktioniert das mit der Standortbestimmung der Maus immernoch nicht. Dafür haben wir eine andere Frage:
Kann man eine Variable, z.B. über Canvas.textout auch über mehrere Formblätter (Units) ausgeben? Wir versuchen gerade, dass auf einen Button-Click hin Werte ausgelesen werden und wollen diese in einem aufklappenden Formblatt ausgeben. Alternativ auch gerne als Dokument. Got any ideas? |
Re: Rahmenwahl und Cursorstandpunkte
Eine globale Variable in der Hauptunit ist der schnellste und unsauberste Weg:
Delphi-Quellcode:
Eine Methode von Form2 wäre hier aber auch nicht schlecht:
unit Unit1;
[...] var Form1: TForm1; MousePosition: TPoint; { Besser als Feld von TForm1 deklarieren: type TForm1 = [...] public MousePosition: TPoint;} ... unit Unit2; interface uses Unit1, ...; [...] Canvas.TextOut(Format(MousePosition, ...)); // bzw. Form1.MousePosition
Delphi-Quellcode:
Edit: Eigentlich gilt: Neue Frage, neuer Thread
type
TForm2 public procedure DrawPos(Pos: TPoint); ... // Unit1 uses Unit2; [...] DrawPos(RelMousePos); |
Re: Rahmenwahl und Cursorstandpunkte
danke werdens gleich mal ausprobieren
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:20 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