[Qt] QT patch
Felipe Monteiro de Carvalho
felipemonteiro.carvalho at gmail.com
Tue Jan 9 12:38:58 CET 2007
Here is test code for a rotated text app (put on a app with only 1
form and no controls on it):
function CreateRotatedFont(F : TFont; Angle : Integer) : hFont;
{-create a rotated font based on the font object F}
var
LF : TLogFont;
begin
FillChar(LF, SizeOf(LF), #0);
with LF do begin
lfHeight := F.Height;
lfWidth := 0;
lfEscapement := Angle*10;
lfOrientation := 0;
if fsBold in F.Style then
lfWeight := FW_BOLD
else
lfWeight := FW_NORMAL;
lfItalic := Byte(fsItalic in F.Style);
lfUnderline := Byte(fsUnderline in F.Style);
lfStrikeOut := Byte(fsStrikeOut in F.Style);
lfCharSet := DEFAULT_CHARSET;
StrPCopy(lfFaceName, F.Name);
lfQuality := DEFAULT_QUALITY;
{everything else as default}
lfOutPrecision := OUT_DEFAULT_PRECIS;
lfClipPrecision := CLIP_DEFAULT_PRECIS;
case F.Pitch of
fpVariable : lfPitchAndFamily := VARIABLE_PITCH;
fpFixed : lfPitchAndFamily := FIXED_PITCH;
else
lfPitchAndFamily := DEFAULT_PITCH;
end;
end;
Result := CreateFontIndirect(LF);
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
MyFont := CreateRotatedFont(Canvas.Font, 45);
end;
procedure TForm2.FormPaint(Sender: TObject);
begin
SelectObject(Canvas.Handle, MyFont);
Canvas.TextOut(200, 200, 'Texto para ser escrito');
end;
--
Felipe Monteiro de Carvalho
More information about the Qt
mailing list