![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как выравнять текст по левому краю [D5, D7, 2003]
-=Le][=- © (2007-09-03 16:05:00)Процедура ТBitmap.Canvas.TextOut(Х,У,Text) выводит текст от точки Х,У в право (выравнивает по правому краю).
А как выводить текст слева от этой точки (выравнять по левому краю)?
Изначально в код нельзя внести поправку (dx,dy), так как не известна ширина текста (ни набор символов, ни шрифт)!
-=Le][=- (2007-09-03 16:47:00) [1]Инс
Помогло! Спасибо!
Инс (2007-09-03 16:29:00) [2]Так что, DrawText с флагом DT_RIGHT не помогает?
-=Le][=- (2007-09-03 16:26:00) [3]Инс
Перепутал!
homm (2007-09-03 16:26:00) [4]> Процедура ТBitmap.Canvas.TextOut(Х,У,Text) выводит текст
> от точки Х,У в право (выравнивает по правому краю).
Она его не выравнивает, она его тупо фигачит в дну строку.
Инс (2007-09-03 16:12:00) [5]см DrawText
PS: TextOut, кстати, выравнивает текст по левому краю. выводит текст от точки Х,У в право- это называется именно выравнивание по левому краю.
@!!ex (2007-09-03 16:11:00) [6]> так как не известна ширина текста (ни набор символов, ни
> шрифт)!
x:=left+(width - Canvas.TextWidth(S)) div 2;
y:=top+(height - Canvas.TextHeight(S)) div 2;
Где x y - искомые координаты, куда потом выводим текст.
left и top - координаты области выравнивания.
width и height - высота и ширина области выравнивания.
S - строка для вывода