Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2011, 18:32   #1
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
Вопрос Косое написание текста

Всем привет! Вот интересуюсь: можно ли вывести надпись на форме под любым углом к горизонтали?
Программирую по необходимости
tsar_ вне форума Ответить с цитированием
Старый 15.03.2011, 18:58   #2
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Разрешаю.
(каков вопрос - таков ответ)

PS: только если использовать отрисовку на канве. Стандартными способами - никак.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 15.03.2011, 19:54   #3
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Так же есть вариант перейти по этой ссылке, и найти вот это
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 15.03.2011, 20:05   #4
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

а это не рисование на канве?..
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 16.03.2011, 01:36   #5
GreyScall
Пользователь
 
Аватар для GreyScall
 
Регистрация: 01.01.2011
Сообщений: 29
Лампочка

Про LOGFONT уже написали, а ещё можно SetWorldTransform() посмотреть (хотя оно больше для рисования на мой взгляд)...

Пример:

Код:
Procedure TForm1.Button1Click(Sender: TObject);
Var GM: Integer; Ang: Double; XF: tagXFORM;
Begin
Form1.Font.Style:=[fsBold];
Form1.Refresh;
GM:=SetGraphicsMode(Form1.Canvas.Handle, GM_ADVANCED); // Установили улучшенный графический режим (нужно для работы SetWorldTransform); Функция возвращает "старый" графический режим;
Ang:=-45/180*Pi; // Перевели из градусов в радианы (45 градусов);
XF.eM11:=Cos(Ang);
XF.eM12:=Sin(Ang);
XF.eM21:=-Sin(Ang);
XF.eM22:=Cos(Ang);
XF.eDx:=40;
XF.eDy:=90; // Установили элементы матрицы преобразований (поворот);
SetWorldTransform(Form1.Canvas.Handle, XF); // Установили матрицу преобразований;
Form1.Canvas.Rectangle(5, 15, 45, 100); // Вывод прямоугольника;
Form1.Canvas.TextOut(10, 20, 'Text0'); // Вывод текста;
Form1.Canvas.TextOut(10, 40, 'Text1'); // Вывод текста;
Form1.Canvas.TextOut(10, 75, 'Text2'); // Вывод текста;
ModifyWorldTransform(Form1.Canvas.Handle, XF, MWT_IDENTITY); // Сбросили матрицу преобразований (установили единичную матрицу);
SetGraphicsMode(Form1.Canvas.Handle, GM); // Вернули обратно "старый" графический режим;
Form1.Canvas.Rectangle(5, 90, 50, 140); // Вывод прямоугольника;
Form1.Canvas.TextOut(10, 100, 'Text3'); // Вывод текста;
Form1.Canvas.TextOut(10, 120, 'Text4'); // Вывод текста;
End;
Regards, GreyScall.
GreyScall вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дублирование текста (автозамена текста) Level Microsoft Office Word 6 24.05.2011 09:36
Выбор последнего записанного текста (именно текста а не значения) из соседнего листа Uralmaster Microsoft Office Excel 1 28.01.2011 21:06
Генератор текста, Анализатор текста, График, С++ darel Помощь студентам 0 14.03.2010 20:15