Как в TEdit расположить текст справа

Идея заключается в том, как сделать правое выравнивание текста в TEdit, не прибегая к написанию нового компонента.
Для этого можно воспользоваться канвасом. Так как TEdit не имеет канваса, то сперва мы создадим TControlCanvas а затем, прикрепим TEdit к этому канвасу.
Теперь нам доступны все свойства и методы TControlCanvas, поэтому мы спокойно можем настраивать в нём текст. Ниже приведёна процедура, реализующая всё вышесказанное.
procedure RJustifyEdit(var ThisEdit : TEdit);
var
Left, Width: Integer;
GString: string;
Rgn: TRect;
TheCanvas: TControlCanvas;
begin
TheCanvas := TControlCanvas.Create;
try
TheCanvas.Control := ThisEdit;
GString := ThisEdit.Text;
Rgn := ThisEdit.ClientRect;
TheCanvas.FillRect(Rgn);
Width := TheCanvas.TextWidth(GString);
Left := Rgn.Right - Width - 1;
TheCanvas.TextRect(Rgn, Left, 0, GString);
finally
TheCanvas.Free;
end;
end;
|
|
|
  |
|
Перевозок аренда микроавтобуса. Пассажирские перевозки микроавтобусом большой магазин. . микросхемы для ремонта материнской платы ноутбука . Гаечный ключ - Доставка воды красково. Быстрая доставка питьевой воды. . |