...Text rotieren?
Autor: Thomas Stutz
procedure TForm1.FormPaint(Sender: TObject);
var
  lf: TLogFont;
  tf: TFont;
begin
  with Form1.Canvas do
  begin
    Font.Name := 'Arial';
    Font.Size := 24;
    tf        := TFont.Create;
    try
      tf.Assign(Font);
      GetObject(tf.Handle, SizeOf(lf), @lf);
      lf.lfEscapement  := 320;
      lf.lfOrientation := 320;
      SetBkMode(Handle, TRANSPARENT);
      tf.Handle := CreateFontIndirect(lf);
      Font.Assign(tf);
    finally
      tf.Free;
    end;
    TextOut(10, Height div 2, 'Your Rotated Text!');
  end;
end;
The LOGFONT structure holds information about a logical font.
The various members of the structure specify properties of the logical font:
lfEscapement
The angle between the font's baseline and escapement vectors,
in units of 1/10 degrees.
Windows 95, 98: This must be equal to lfOrientation.
lfOrientation
The angle between the font's baseline and the device's x-axis,
in units of 1/10 degrees.
Windows 95, 98: This must be equal to lfEscapement.
lfWidth
The average width of the font's characters.
If 0, the font mapper tries to determine the best value
lfWeight
One of the following flags specifying the
boldness (weight) of the font:
FW_DONTCARE = 0     Default weight.
FW_THIN = 100       Thin weight.
FW_EXTRALIGHT = 200 Extra-light weight.
FW_LIGHT = 300      Light weight.
FW_NORMAL = 400     Normal weight.
FW_MEDIUM = 500     Medium weight.
FW_SEMIBOLD = 600   Semi-bold weight.
FW_BOLD = 700       bold weight.
FW_EXTRABOLD = 800  Extra-bold weight.
FW_HEAVY     = 900  Heavy weight.
lfItalic
A non-zero value if the font is italicized, 0 if not.
lfUnderline
A non-zero value if the font is underlined, 0 if not.
lfStrikeOut
A non-zero value if the font is striked out, 0 if not.
printed from
  www.swissdelphicenter.ch
  developers knowledge base