Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi MinimizeName alternative (https://www.delphipraxis.net/88900-minimizename-alternative.html)

MrDevil 22. Mär 2007 17:36


MinimizeName alternative
 
Gibt es eine tolle alternative Funktion zu "MinimizeName"

Da ich "TJvStaticText" verwende und die - zumindest infde ich es nicht - Canvas hat!

Luckie 22. Mär 2007 18:59

Re: MinimizeName alternative
 
Das dürfte ein Static sein. Einfach mit MSDN-Library durchsuchenSetWindowLong den Stil SS_PATHELIPSIS hinzufügen.

SirThornberry 22. Mär 2007 19:09

Re: MinimizeName alternative
 
du kannst auch einfach eine Canvas (zum Beispiel per TBitmap) anlegen, die Font assignen und dann auf die erzeuge Canvas die Funktion anwenden.

Luckie 22. Mär 2007 19:17

Re: MinimizeName alternative
 
Da finde ich meine Lösung aber eleganter. ;)

MrDevil 23. Mär 2007 07:51

Re: MinimizeName alternative
 
Zitat:

Zitat von Luckie
Das dürfte ein Static sein. Einfach mit MSDN-Library durchsuchenSetWindowLong den Stil SS_PATHELIPSIS hinzufügen.

Sorry aber verstehe gerade nur Bahnhof - was ich machen soll - ich ahbe nach "SS_PATHELIPSIS" hier im Forum gesucht aber nur diesen Beitrag gefunden und selbst google kennt das nur einmal ;-(

Wäre super wenn Du mir das genauer erklären könntest

turboPASCAL 23. Mär 2007 08:06

Re: MinimizeName alternative
 
Dir kann geholfen werden. ;)

Ich bin der selben Meinung wie Luckie, mit Hilfe von SS_PATHELIPSIS ist es recht einfach und schneller
einen Pathnamen ausf das Wesentliche zu kürzten.

Delphi-Quellcode:

procedure TFormX.SetStaticTextPathEllipsis(aStaticText: TStaticText);
var scStyle: Integer;
begin
  scStyle := GetWindowLong(aStaticText.Handle, GWL_STYLE);
  scStyle := scStyle or SS_PATHELLIPSIS or SS_LEFTNOWORDWRAP;
  SetWindowLong(aStaticText.Handle, GWL_STYLE, scStyle);
end;

procedure TFormX.FormShow(Sender: TObject);
begin
  SetStaticTextPathEllipsis(StaticText1);
end;

MrDevil 23. Mär 2007 08:41

Re: MinimizeName alternative
 
das hat bei mir keine Auswirkung :-(


Edit : hat es doch aber NUR im OnShow .. aber es mnuss auch zur Laufzeit funktionieren, wenn der Pfad sich mal ändert

turboPASCAL 23. Mär 2007 13:21

Re: MinimizeName alternative
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es sollte funktionieren, auf jeden Fall mit Delphi 6 (7).

Das Statictext.Autosize := FALSE; hast du gesetzt ?

ELFVIGO 28. Mär 2015 07:47

AW: Re: MinimizeName alternative
 
Zitat:

Zitat von turboPASCAL (Beitrag 603930)
Dir kann geholfen werden. ;)

Ich bin der selben Meinung wie Luckie, mit Hilfe von SS_PATHELIPSIS ist es recht einfach und schneller
einen Pathnamen ausf das Wesentliche zu kürzten.

Delphi-Quellcode:

procedure TFormX.SetStaticTextPathEllipsis(aStaticText: TStaticText);
var scStyle: Integer;
begin
  scStyle := GetWindowLong(aStaticText.Handle, GWL_STYLE);
  scStyle := scStyle or SS_PATHELLIPSIS or SS_LEFTNOWORDWRAP;
  SetWindowLong(aStaticText.Handle, GWL_STYLE, scStyle);
end;

procedure TFormX.FormShow(Sender: TObject);
begin
  SetStaticTextPathEllipsis(StaticText1);
end;


Dank von Vigo, Spanien.

Thank you very much from Vigo, Spain.

Sorry, but I don't know german, so I have to write to you in English.

I used your code to put in a Inno Setup installer and it works well. I registered in your forum to thank you :-D .

Our installer is used to install mods in World of Tanks game: http://wotanksmods.com/dex-modpack/.

Thank you very much, on e more time.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:31 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