Цитата:
Сообщение от lmikle
Э-э-э... это посложнее.
у канвы есть метод TextWidth.
Т.е. тебе надо добавить таекое кол-во пробелов, что бы привести к почти одинаковой длинне по результату вызова этой функции.
|
это кажется я понял, щас попробую сделать
а для того, что бы StringWidth прикрутить к функции нет ни каких решений?
Сейчас код выглядит так:
Код:
procedure TForm1.RichEdit1Change(Sender: TObject);
begin
width := ListView1.StringWidth(RichEdit1.Text);
end;
function StringAlign(S : String; ALength : Integer) : String;
var
Sp : Integer;
I : Integer;
Pix : Integer;
begin
ALength := width;
Sp := ALength - Length(S);
If Sp <= 0
Then Result := S
Else
While Sp > 0 Do
Begin
Result := '';
For I := 1 To Length(S) Do
Begin
Result := Result + S[i];
If (S[i] = ' ') And (Sp > 0) Then
Begin
Dec(Sp);
Result := Result + ' ';
End;
End;
S := Result;
End;
end;
procedure TForm1.btn10Click(Sender: TObject);
begin
for i:= 0 to RichEdit1.Lines.Count-1 do begin
RichEdit1.Lines[i] := StringAlign(RichEdit1.Lines[i],100);
end;
end;
но при нажатии кнопки ничего не происходит