K
Hallo,
muss noch ein Posting nachsenden.
Mit einem cast auf das Canvas eines TLabels ist auch dieses bereit, Blocksatz darzustellen.
Der darzustellende Text kann natürlich aus einem Array o.ä. geladen werden.
Naja, das ganze wäre ein Anlass, um eine entsprechende eigene Komponente zu schreiben;
mE. hat keine der BCB-Kompos eine Textausrichtung im Block...
void __fastcall TForm1::btn1Click(TObject *Sender)
{
TCanvas* cv = dynamic_cast<TCanvas*>(Label1->Canvas);
int yline = 10;
for ( int i = 0; i < Memo1->Lines->Count; i++ ) {
String Txt = Memo1->Lines->Strings[i];
SIZE size;
int spaces = 0; // Ermitteln der Leerzeichen
GetTextExtentPoint32( cv->Handle, Txt.c_str(), Txt.Length(), &size );
for ( int j = 1; j < Txt.Length(); j++) {
if ( Txt[j] == ' ')
spaces++;
}
int dist = 20; // Seitendistanz, margin; ausprobieren
SetTextJustification( cv->Handle, Label1->Width - dist - size.cx, spaces );
TextOut( cv->Handle, 5, yline, Txt.c_str(), Txt.Length() );
yline += 15; // Zeilendistanz
}
}
edit Kommentare
mfg
kpeter