justowanie

0

Jak wyjustować to znaczy wyrównac text od lewej i prawej strony na canvas?

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]

1 użytkowników online, w tym zalogowanych: 0, gości: 1