AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen FreePascal Text zur Anzeige kürzen mit Punkten hinten
Thema durchsuchen
Ansicht
Themen-Optionen

Text zur Anzeige kürzen mit Punkten hinten

Ein Thema von Guido Eisenbeis · begonnen am 28. Okt 2011 · letzter Beitrag vom 4. Nov 2011
 
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Text zur Anzeige kürzen mit Punkte hinten

  Alt 29. Okt 2011, 00:23
Vielleicht geht es mit MinimizeName, obwohl das AFAIK nur für Pfadangaben gedacht ist.
Stimmt, ist nur für Pfade.


EllipsisPosition
...
Geben tut es das ab Delphi 2006. Intern wird das 1:1 auf die entsprechenden Konstanten gemappt und an DrawText übergeben. Auch Canvas.TextRect kennt ein entsprechendes Flag. Aber das sind eben alles nur für die Ausgabe vorhandene Funktionen.
Danke für die Info. Hab EllipsisPosition gefunden beim TLabel in TurboDelphi. In Lazarus scheint's das nicht zu geben. In Delphi scheinbar nur im TLabel?

... für DrawText wird ein hdc benötigt, was nicht bei allen in Frage kommenden Controls der Fall ist.
Bei welchen denn? Nicht bei allen kommst du direkt heran, aber eigentlich haben alle einen Device Context.
Ok, ich sitze jetzt schon über eine halbe Stunde nur daran, ein blöden Text mit DrawText auf ein Panel zu bekommen. (Habs auch mit Form1 versucht.) Ich habe bestimmt 1 Mio. Codes von MSDN bis Was-weiß-ich-was-WebSites und Foren (auch hier) probiert und bin am verzweifen! Ich krieg ums Verrecken keinen Text mit Panel zu sehen!! Das kenn ich von "damals", als ich noch mit VB (Classic) programmierte. Und genau aus diesem Grund wollte ich DrawTest nicht haben. Das nervt einfach nur.

Es folgt ein Beispiel-Code, den ich ausprobiert habe. Bitte zeig mir doch den Fehler, oder einen funktionierenden Code. Und glaub mir, ich hab zig verschieden Kombinationen der Paramter und Funktionen probiert!

Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
var
  Txt: String;
  h: HDC;
  Rct: TRect;
begin
  Txt := 'Dies ist ein Beispiel-Text.';
  //h := GetDC(Panel1.Handle);
  //h := GetWindowDC(Panel1.Handle);
  GetWindowRect(Panel1.Handle, Rct);

  DrawText(Panel1.Canvas.Handle, PChar(Txt), Length(Txt), Rct,
    DT_SINGLELINE or DT_LEFT or DT_VCENTER or DT_END_ELLIPSIS);
end;
Guido.

Geändert von Guido Eisenbeis (29. Okt 2011 um 00:31 Uhr) Grund: Beispiel-Code korrigiert
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:11 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