Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 803

•  TDictionary Custom Sort  6 801

•  Fast Watermark Sources  6 586

•  3D Designer  9 545

•  Sik Screen Capture  6 924

•  Patch Maker  7 373

•  Айболит (remote control)  7 311

•  ListBox Drag & Drop  6 175

•  Доска для игры Реверси  98 122

•  Графические эффекты  7 487

•  Рисование по маске  6 778

•  Перетаскивание изображений  5 631

•  Canvas Drawing  6 011

•  Рисование Луны  5 802

•  Поворот изображения  5 253

•  Рисование стержней  3 849

•  Paint on Shape  3 006

•  Генератор кроссвордов  3 959

•  Головоломка Paletto  3 141

•  Теорема Монжа об окружностях  3 973

•  Пазл Numbrix  2 624

•  Заборы и коммивояжеры  3 434

•  Игра HIP  2 353

•  Игра Go (Го)  2 265

•  Симулятор лифта  2 670

•  Программа укладки плитки  2 230

•  Генератор лабиринта  2 781

•  Проверка числового ввода  2 388

•  HEX View  2 725

•  Физический маятник  2 414

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

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




Новая серия книг Издательства Piter-press:
Windows 98: баг за багом.

Идея заключается в том, как сделать правое выравнивание текста в 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;





Похожие по теме исходники

Расширение компонента TEdit

Image2Text (изображение в текст)

Генератор текстур

TextureGen (генератор текстур)

 

Текст Drag & Drop

Текст по синусоиде

Текст внутри файла

Зеркальный текст

 



Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте