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.