Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   "THookEdit" Zum Festdocken eines Labels (https://www.delphipraxis.net/152965-thookedit-zum-festdocken-eines-labels.html)

idefix2 15. Jul 2010 01:41

"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.

sx2008 15. Jul 2010 02:09

AW: "THookEdit" Zum Festdocken eines Labels
 
Ich würde noch TCustomForm statt TForm und TCustomLabel statt TLabel schreiben um THookEdit etwas allgemeiner zu halten.

idefix2 15. Jul 2010 02:14

AW: "THookEdit" Zum Festdocken eines Labels
 
Ja, Du hast Recht - aber jetzt lege ich mich erst einmal schlafen :)

Namenloser 15. Jul 2010 16:00

AW: "THookEdit" Zum Festdocken eines Labels
 
Gibt es das nicht schon in Form von Delphi-Referenz durchsuchenTLabeledEdit, oder gibt es einen Unterschied zu deiner Komponente?

idefix2 15. Jul 2010 21:16

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 00:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz