Möchte man ein Verzeichnis zum Beispiel in einem Label darstellen kann es passieren das der komplette Pfad von der Länge her nicht im Label dargestellt werden kann..
Seit Delphi 3 gibt es dafür die undokumentierte Funktion
MinimizeName aus der Unit
FileCtrl.pas. Diese Funktion kümmert sich darum den Pfad entsprechend verkürzt darzustellen. Zur Berechnung der maximal anzeigbaren Buchstabenzahl für den verkürzten Pfad benötigt die Funktion die Canvas (und damit die für diese Canvas eingestellte Schriftart), auf der der Text ausgegeben werden soll und die Breite des Ausgaberechtecks.
Die Verkürzung eines Verzeichnisses kann dann zum Beispiel so aussehen:
Zitat: |
F:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Verwaltung |
wird zu
Zitat: |
F:\...\Programme\Verwaltung |
Der folgende Aufruf demonstiert den Aufruf der Funktion MinimizeName:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| Var PathName: String; Begin PathName := 'F:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Verwaltung';
Label1.Caption := MinimizeName ( PathName, Label1.Canvas, Label1.Width ); End; |
Wichtig dabei ist das die Eigenschaft des Labels
AutoSize auf False steht.