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

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

Как вывести текст по центру на canvas. [D7]


Nikfel ©   (2007-06-28 17:25:00) 

Пожалуйста помогите. Мне надо создать компонент tlabel, затем нарисовать на нем (разноцветный фон), при этом текст введенный в caption закрашивается. А мне надо ввести текст по центру, но при этом учитывать что с боку будет изображение и текст надо будет еще сместить на размер изображения. Заранее спасибо.


Однокамушкин   (2007-06-29 16:35:00) [1]

http://msdn2.microsoft.com/en-us/library/ms533933.aspx


Nikfel   (2007-06-28 18:21:00) [2]


> Поясни. Кем закрашиваеться, и чем закрашиваеться.
>

Закрашивал карандашом pen. Рисовал линии разных цветов.


Nikfel   (2007-06-28 18:15:00) [3]

Спасибо, разобрался. Вот правильный код:
label1.Canvas.TextOut(((Label1.Width-label1.Canvas.TextWidth('ля-ля-ля')) div 2)+(image1.Width div 2), (label1.Height-label1.Canvas.TextHeight('ля-ля-ля')) div 2, 'ля-ля-ля');
Изображение должно быть выведено на canvas по левому краю, иначе текст будет не по центру.


homm   (2007-06-28 17:35:00) [4]

> при этом текст введенный в caption закрашивается

Поясни. Кем закрашиваеться, и чем закрашиваеться.


> А мне надо ввести текст по центру, но при этом учитывать
> что с боку будет изображение

Текст.Лево = (ПолеДляВвода.Ширина - Текст.Ширина) поделить 2 - Изображение.Ширина;
Текст.Верх = (ПолеДляВвода.Высота - Текст.Высота) поделить 2 - Изображение.Высота;


Ega23   (2007-06-28 17:33:00) [5]

Canvas.TextOut((Label.Width - Image.Width - Canvas.GetFontWidth('ля-ля-ля')) div 2, Y, 'ля-ля-ля')


Jeer   (2007-06-28 17:30:00) [6]

Карандаши купи и резинку.


Наверх

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