Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как сделать текст в Edit справа?


Автор: Розмарин 8.4.2006, 23:00
Товарищи, помогите новичку (мне!). Как сделать текст в Edit справа, а не слева, причем без объявления всяких там новых классов!!! Это, вообще, возможно?
Если невозможно, то как потом работать с динамически созданными объектами. Как программно вводить в этот новый Edit текст и т.д. Где вообще находятся его свойства?

Все должно быть проще, вроде одного свойства...


Автор: Poseidon 8.4.2006, 23:17
Код
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;


использование:
Код

procedure TForm1.Button1Click(Sender: TObject);
begin
RJustifyEdit(Edit1)
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)