![]() |
"THookEdit" Zum Festdocken eines Labels
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Nachdem es mich immer wieder genervt hat, bei kleinen Änderungen im Formularlayout alle Labels wieder schön auszurichten, habe ich von TEdit eine Komponente abgeleitet, die das selbstständig macht. DIe Verwendung ist denkbar einfach: Es gibt eine zusätzliche Eigenschaft: HookLabel, die im Objektinspektor angezeigt wird. Dort gibt man den Namen des Labels (sowie optional zusätzliche Formatierungsinformation) an. Der Label wandert dann automatisch mit dem Editfeld mit. Die möglichen Formatierungsoptionen sind: Format: "Labelname Mxxx" M = L: Linksbündig, Label beginnt xxx Pixel links vom eingabefeld M = X: Rechtsbündig, Label endet xxx Pixel links vom Eingabefeld M = R: Label beginnt xxx Pixel rechts vom Eingabefeld Default: X10, wenn nur der Name des Labels angegeben wird. Der Code liesse sich natürlich für alle möglichen anderen Controls erweitern. Derzeit gibt es noch zwei kleine Probleme: Wenn das Editfeld sich nicht direkt am Formular, sondern in einem Panel befindet und ein ungültiger Labelname eingegeben wird, löst die Fehlermeldung, die das Programm bringt, eine Exception aus, und die IDE erlaubt der Maus nicht, das Panel zu verlssen, man muss die Fehlermeldung also mit der Tastatur quittieren. Ich habe zum Nachführen des Labels noch keinen besseren Platz gefunden als TEdit.Update, wenn man das Editfeld irgendwohin versetzt hat, muss man es noch einmal anklicken, damit der Label im Formulardesigner gleich richtig angezeigt wird. |
AW: "THookEdit" Zum Festdocken eines Labels
Ich würde noch TCustomForm statt TForm und TCustomLabel statt TLabel schreiben um THookEdit etwas allgemeiner zu halten.
|
AW: "THookEdit" Zum Festdocken eines Labels
Ja, Du hast Recht - aber jetzt lege ich mich erst einmal schlafen :)
|
AW: "THookEdit" Zum Festdocken eines Labels
Gibt es das nicht schon in Form von
![]() |
AW: "THookEdit" Zum Festdocken eines Labels
Tatsächlich - Bis vor einiger Zeit hatte ich, wenn überhaupt, nur mit Delphi 5 zu tun, da weiss ich dass es keine derartige Komponente gegeben hat, deshalb habe ich jetzt im Delphi 2009 gar nicht daran gedacht, nach so etwas zu suchen. Die Komponente scheint ausser der linksbündigen Anordnung der Labeltexte alles zu können, was meine Komponente macht (und dafür sogar mehr die Labelanordnung über oder unter dem Eingabefeld - hab ich bis jetzt nirgends gebraucht und deshalb bei meiner Komponente auch nicht eingebaut.
Allerdings ordne ich meine Labels ganz gerne linksbündig an (der Abstand zum Eingabefeld ist dann eben nicht fix). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 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