О том, как
вращать текст с помощью Delphi
Сейчас мы
поговорим с Вами о том как можно средствами Дельфи вращать какой-нибудь текст.
На первый взгляд задача не из простых, ведь даже Windows не умеет вращать
изображения (ну и текст соответственно тоже), но мы же не Windows :))
Нам понадобится
переменная-запись типа TLogFont, которая будет содержать характеристики шрифта,
такие как: размер, стиль, шрифт, угол поворота. А также переменные типа hFont и
TFont.
Теперь, чтобы
не мучить Вас ожиданием привожу код примера (обработчик события OnClick для
командной кнопки):
procedure
TForm1.Button1Click(Sender: TObject);
var
Font : hFont;
LogFont : TLogFont;
F : TFont;
begin
FillChar(LogFont, SizeOf(LogFont), 0);
With LogFont do
Begin
lfHeight
:= 12;//высота шрифта
lfOrientation
:= 150;//угол поворота желательно, чтобы совпадал со
lfEscapement
:= 150;//значением этой переменной. В данном случае это 15'
lfWeight
:= FW_REGULAR; //к примеру жирный - FW_BOLD;
lfCharSet
:= RUSSIAN_CHARSET;//тут я думаю понятно
StrCopy(lfFaceName,
'Arial');//здесь - имя шрифта
End;
Font := CreateFontIndirect(LogFont);
F :=
TFont.Create;//создаем экземпляр объекта
F.Handle := Font;
Canvas.Font := F;
Canvas.Brush.Color := Color;
Canvas.TextOut(300, 100, 'Font Demo'); //рисуем на формк
F. Free;//
DeleteObject(Font);//освобождаем память, удаляя объект...
end;
Ну вот
собственно и все, на основе этого можно к примеру компонент написать, может я
конечно и сам скоро его напишу, но тем не менее презентую Вам эту идею.
Список
литературы
Михаил
Христосенко. О том, как вращать текст с помощью Delphi
Для подготовки
данной работы были использованы материалы с сайта http://delphid.dax.ru
.