25.12.2006, 16:18
общий
это ответ
Здравствуйте, Томша Павел!
В приложении смотрите процедуру, при помощи которой реализуется ввод справа-налево.
Только для полной его функциональности создайте обработчик <font color=purple><b>Edit1Change</b></font> для своего поля ввода (<font color=purple><b>Edit1</b></font>), в который необходимо поместить строку вызова соответствующей процедуры:
<code>
procedure TForm1.Edit1Change(Sender: TObject);
begin
RightEdit(edit1);
end;
</code>
Хотя можно и легче - это воспользоваться сторонними компонентами....
Good Luck!!!
Приложение:
procedure RightEdit(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;