procedure MyRotateText(CV : TCanvas; sText:String;X, Y, Angle:Integer); {угол в градусах}VAR LogFont : TLogFont;BEGINGetObject(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; |
Спасибо за исправление ошибок. [000358]