Während ein Benutzer ein Formular ändert, möchte ich in XE2 neben dem aktuellen Mauszeiger die aktuelle Formulargröße anzeigen. Ich würde das OnResize-Ereignis verwenden.
Mit anderen Worten: Ich brauche Ideen, wie man dynamischen Text (z. B. x, y-Koordinaten wie die 300, 250 im Bild unten) zusammen mit dem Mauszeiger anzeigt, wenn ein Benutzer seine Maus bewegt.
Ein Ansatz wäre, eine .cur-Datei nachzuahmen und sie dem Cursor in OnResize zuzuordnen. Das scheint umständlich und könnte ziemlich langsam sein (und ich habe noch keine Ahnung von den Inhalten der Datei)
Eine andere Idee wäre, einen transparenten Text anzuzeigen (welche Komponente würde das tun?), den ich .Top, .Left im OnResize-Ereignis festlege.
Ein Problem, das ich habe, ist, wie ich feststellen würde, wenn die Größenanpassung abgeschlossen ist, so dass ich zum normalen Mauszeiger zurückkehren könnte.
Irgendwelche Vorschläge eine Richtung, um fortzufahren?
Aktualisierung:
Hier ist eine aktualisierte Version, wo der Hinweisanimationsteil entfernt wurde (da ich denke, dass Sie den Hinweis sofort für Ihren Zweck anzeigen müssen) und wo doppelte Pufferung hinzugefügt wurde (wegen häufiger Aktualisierungen des Hinweises), um Flimmern zu verhindern und auch eine anständige Alpha-Mischung (nur für Neugier).
Dank @NGLN wurde eine fehlende Zuweisung einer Hinweisfenstervariable behoben!
%Vor%Und das Ergebnis bei Form Sizing (ziemlich viel transparent für meinen Geschmack: -)
Muss es wirklich transparent sein? Denken Sie daran, dass Text über bestimmte Hintergründe schwer lesbar sein kann.
Betrachten Sie stattdessen ein Tooltip-Fenster. Erstellen Sie ein Steuerelement THintWindow
, legen Sie seine Beschriftung und Position fest und zeigen Sie es an.
Wenn Sie eine Nachricht wm_ExitSizeMove
erhalten, blenden Sie die Datei aus oder löschen Sie sie Fenster.
Tags und Links delphi