Сейчас мы поговорим с Вами о том как можно средствами Дельфи вращать
какой-нибудь текст. На первый взгляд задача не из простых, ведь даже 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;
Ну вот собственно и все, на основе этого можно к примеру компонент
написать, может я конечно и сам скоро его напишу, но тем не менее презентую Вам
эту идею.