Меню сайта
Мини-чат
Чтобы добавить сообщение, необходимо авторизоваться.
Главная » Статьи » Не стандартные примеры на Delphi » API

Вращение текста

   
procedure MyRotateText(CV : TCanvas; sText:String;
X, Y, Angle:Integer); {угол в градусах}
VAR LogFont : TLogFont;
BEGIN
GetObject(CV.Font.Handle, SizeOf(TLogFont), @LogFont);
LogFont.lfEscapement:= Angle*10;
CV.Font.Handle := CreateFontIndirect(LogFont);
CV.TextOut(X,Y,sText);
END;

К примеру, при задании угла Angle = -90, тект выведется вертикально по направлению сверху вниз.

- Neil

Neil -

Это классно! Спасибо! Но некоторые вопросы все-же имеются:

1) Как только я присвою свойству Handle новый шрифт, старый уничтожается, правильно? А для восстановления оригинальных установок мне необходимо восстановить предыдущий шрифт, правильно? Есть какое-либо простое решение для сохранения оригинального шрифта?

-Dan


    Var
SaveFont:   TFont;


SaveFont := TFont.Create;
SaveFont.Assign (CV.Font);
CV.Font := CreateFontIndirect (....)
(....)
CV.Font.Assign (SaveFont);
SaveFont.Free;

Спасибо Oleg Fyodorov за исправление ошибок. 

Категория: API | Добавил: DelphiAiX (28.04.2012)
Просмотров: 656 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]