Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выравнивание текста [D6]


Андрей_Св ©   (2007-10-04 20:07:00) 

Уважаемые мастера.
Скажите как выровнять многословный текст по центру и по середине.

procedure TForm1.FormPaint(Sender: TObject);
var
  r:TRect;
  s:string;
  OldBkMode,format:Integer;
begin
  OldBkMode := SetBkMode(Canvas.Handle, TRANSPARENT);
  Canvas.Pen.Width:=3;
  Canvas.Pen.Color:=clRed;
  r.Left:=50;
  r.Top:=50;
  r.Right:=r.Left+100;
  r.Bottom:=r.Top+100;
  Canvas.Rectangle(r);
  s:='Во саду ли в огороде дивеица гуляла.';
  Format:=DT_CENTER or DT_VCENTER or DT_WORDBREAK;-не выравнивает по середине.
  DrawText(Canvas.Handle,PChar(s),LEngth(PChar(s)),r,format);
  SetBkMode(Canvas.Handle, OldBkMode);

end;


Ping   (2007-10-05 08:41:00) [1]

Тебе ж ясно написали:

DT_VCENTER Centers text vertically ( single line only).

Так что выводи построчно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо