![]() |
AW: Text zur Anzeige kürzen mit Punkte hinten
Ist dir schonmal aufgefallen, daß
![]() Tipp: tfModifyString, tfEndEllipsis oder tfPathEllipsis und tfCalcRect > ![]() oder DT_MODIFYSTRING, DT_END_ELLIPSIS oder DT_PATH_ELLIPSIS und DT_CALCRECT > ![]()
Delphi-Quellcode:
Text := DeinText;
Rect.Left := 1; Rect.Top := 1; Rect.Right := MaximaleBreite; Rect.Bottom := MaximaleHöhe; DrawTextEx(Handle, PChar(Text), Length(Text), Rect, ... or DT_END_ELLIPSIS or DT_MODIFYSTRING, nil); SetLength(Text, StrLen(PChar(Text))); siehe MSDN: DT_CALCRECT > but does not draw the text |
AW: Text zur Anzeige kürzen mit Punkte hinten
Geht doch:
Delphi-Quellcode:
Mein Panel (D7) hat übrigens kein Canvas.
procedure TForm1.FormPaint(Sender: TObject);
var Txt: String; Rct: TRect; begin Txt := 'Dies ist ein Beispiel-Text.'; GetWindowRect(Self.Handle, Rct); DrawText(Self.Canvas.Handle, PChar(Txt), Length(Txt), Rct, DT_SINGLELINE or DT_LEFT or DT_VCENTER or DT_END_ELLIPSIS); end; |
AW: Text zur Anzeige kürzen mit Punkte hinten
Zitat:
|
AW: Text zur Anzeige kürzen mit Punkte hinten
das kennst Du schon, oder?
Delphi-Quellcode:
type
TPanel = Class(ExtCtrls.TPanel) Public Property Canvas; End; TForm1 = class(TForm) Panel1: TPanel; procedure Panel1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Panel1Click(Sender: TObject); begin Panel1.Canvas.Rectangle(1,1,100,100); end; |
AW: Text zur Anzeige kürzen mit Punkte hinten
Ja, natürlich hat es einen. Aber ich meinte ein Canvas dem man so nutzen kann.
|
AW: Text zur Anzeige kürzen mit Punkte hinten
Zitat:
Delphi-Quellcode:
Diese unterstützt das nicht.
procedure TextRect(const ARect: TRect; X, Y: integer; const Text: string);
procedure TextRect(ARect: TRect; X, Y: integer; const Text: string; const Style: TTextStyle); virtual; Gruß, Sven |
AW: Text zur Anzeige kürzen mit Punkte hinten
Ich dachte die Lazarusleute hätten am Anfang erstmal alles kopiert? :stupid:
Wollte schon Fragen, wie ![]() Da hat man sich mit einem IMHO etwas umständlichen Record begnügt. (Das SET wurde wohl erst später erfunden?) Wäre ja zu witzig gewesen, wenn dort tfModifyString und Co. mit enthalten wäre. :roll: ![]() Nja, die letzte Variante, also die mit dem Handle (HDC), sollte dann wohl auch unter Lazarus laufen. (hoff ich einfach mal, und wenn nicht, dann müßt ihr's halt noch etwas anpassen) |
AW: Text zur Anzeige kürzen mit Punkte hinten
Mein Delphi hat ein TControlCanvas. Das instantiiert man, verbindet es mit einem Control und -wupps- kann man auf dem Control zeichnen.
|
AW: Text zur Anzeige kürzen mit Punkte hinten
Zitat:
Ansonsten: Was ist da nur so interessant an DrawText? Mein oben genannter 5-Zeiler erledigt das doch gut: + Anwendbar auf die Caption-Eigenschaft + gibt eine String zurück + evtl. Plattformunabhängig ??? - Abhängigkeit von Caption (bzw Text) + keine Abhängigkeit von Canvas + kein Publizieren des Canvas (für jede Control-Klasse!) + kein Überschreiben von Paint (für jede Control-Klasse!) Zitat:
Guido. |
AW: Text zur Anzeige kürzen mit Punkte hinten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:49 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