Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.30;
Скачать: CL | DM;

Вниз

Как выравнять текст по левому краю   Найти похожие ветки 

 
-=Le][=- ©   (2007-09-03 16:05) [0]

Процедура ТBitmap.Canvas.TextOut(Х,У,Text) выводит текст от точки Х,У в право (выравнивает по правому краю).
А как выводить текст слева от этой точки (выравнять по левому краю)?
Изначально в код нельзя внести поправку (dx,dy), так как не известна ширина текста (ни набор символов, ни шрифт)!


 
@!!ex ©   (2007-09-03 16:11) [1]

> так как не известна ширина текста (ни набор символов, ни
> шрифт)!

x:=left+(width - Canvas.TextWidth(S)) div 2;
y:=top+(height - Canvas.TextHeight(S)) div 2;

Где x y - искомые координаты, куда потом выводим текст.
left и top - координаты области выравнивания.
width и height - высота и ширина области выравнивания.
S - строка для вывода


 
Инс ©   (2007-09-03 16:12) [2]

см DrawText

PS: TextOut, кстати, выравнивает текст по левому краю. выводит текст от точки Х,У в право - это называется именно выравнивание по левому краю.


 
-=Le][=- ©   (2007-09-03 16:26) [3]

Инс
Перепутал!


 
homm ©   (2007-09-03 16:26) [4]

> Процедура ТBitmap.Canvas.TextOut(Х,У,Text) выводит текст
> от точки Х,У в право (выравнивает по правому краю).

Она его не выравнивает, она его тупо фигачит в дну строку.


 
Инс ©   (2007-09-03 16:29) [5]

Так что, DrawText с флагом DT_RIGHT не помогает?


 
-=Le][=- ©   (2007-09-03 16:47) [6]

Инс
Помогло! Спасибо!



Страницы: 1 вся ветка

Текущий архив: 2007.09.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
4-1175416197
Yosich
2007-04-01 12:29
2007.09.30
Plug&Play и DLL


2-1188888869
VRSB
2007-09-04 10:54
2007.09.30
NMStrmServ


15-1188303996
data
2007-08-28 16:26
2007.09.30
собираемся покупать мебель для кухни, кто покупал недавно?


15-1189003609
Ш-К
2007-09-05 18:46
2007.09.30
Как сделать паттерн State не к перечеслению, а к множеству?


15-1188440446
Slider007
2007-08-30 06:20
2007.09.30
С днем рождения ! 30 августа 2007 четверг