Einzelnen Beitrag anzeigen

Guido Eisenbeis

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

AW: Text zur Anzeige kürzen mit Punkte hinten

  Alt 30. Okt 2011, 18:40
Mein Delphi hat ein TControlCanvas. Das instantiiert man, verbindet es mit einem Control und -wupps- kann man auf dem Control zeichnen.
Kannst du mir das Package umschreiben für Lazarus?

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!)


Geht doch:
Delphi-Quellcode:
procedure TForm1.FormPaint(Sender: TObject);
var
  Txt: String;
  Rct: TRect;
begin
  Txt := 'Dies ist ein Beispiel-Text.';
  GetWindowRect(Form1.Handle, Rct);
  DrawText(Form1.Canvas.Handle, PChar(Txt), Length(Txt), Rct, DT_SINGLELINE or DT_LEFT or DT_VCENTER or DT_END_ELLIPSIS);
end;
Bei mir nicht. Ist nichts zu sehen weder in Delphi, noch in Lazarus. Liegt an den von Stahli genannten Gründen, denke ich.


Guido.

Geändert von Guido Eisenbeis (31. Okt 2011 um 04:21 Uhr) Grund: "Schriepfelherr" beseitigt. ;-)
  Mit Zitat antworten Zitat