Программы   Загрузка Партнерство   О компании Контакты  
 
                    
  Карта Сайта   
   

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

           


евроремонт квартир . Перевозок аренда микроавтобуса. Пассажирские перевозки микроавтобусом большой магазин. . микросхемы для ремонта материнской платы ноутбука . Гаечный ключ - Доставка воды красково. Быстрая доставка питьевой воды. .


Программы  |  Загрузка  |  Партнерство  |  О компании  |  Контакты

Copyright © LSD Software 2006 - 2011