Советы по Delphi

         

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


Дан, вот функция, которая тебя, возможно, заинтересует:



    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 за исправление ошибок. [000358]



Содержание раздела