| 
 Как в 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;
       |