Jak wyjustować to znaczy wyrównac text od lewej i prawej strony na canvas?
0
0
użyj funkcji DrawText
var
rec : TRect;
begin
Canvas.Rectangle(10,9,201,101); //rysuje prostokącik
Rec := Rect(10,10,200,100); // tu należy podać rozmiar canvansu
DrawText(Canvas.Handle, 'to jest tekst do prawej', -1, rec, DT_SINGLELINE or DT_RIGHT);
end;
DT_LEFT - wyrównuje do lewej
DT_CENTER - do srodka
F1 !!!
[cya]
0
dzięki ale nie o to mi chodzilo chcę wyrownać tekst w kilku linijkach o rożnej dlugości tak zeby rozciągnac albo scisnąć:)
0
troche poszukałem i znalazłem coś takiego :
SetTextJustification
a oto przykład:
Na formatke wrzuć Image (align := alClient) a w onResize formy wstaw:
var
s : string;
q,i,ile: integer;
begin
s := 'to jest tekst do wyjustowania tra la la';
q := Canvas.TextWidth(s);
ile := 0;
for I := 0 to Length(S) do
if s[I] = ' ' then Inc(Ile);
Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);
SetTextJustification(Image1.Canvas.Handle,(Image1.Width - q) div ile,1);
SetTextAlign(Image1.Canvas.Handle,TA_CENTER);
TextOut(Image1.Canvas.Handle,Image1.Width div 2,10,pChar(s),length(s));
end;
mam nadzieje ze troche pomogłem [cya]