var 
LogFont: TLogFont; //这个类我不熟悉??
theFont: TFont; 
begin 
with Form1.Canvas do 
begin 
Font.Name := '宋体'; 
Font.Size := 18; 
Font.Color := clYellow; 
theFont := TFont.Create; 
theFont.Assign( Font ); 
GetObject( theFont.Handle, Sizeof(LogFont), @LogFont ); //gettobject不是
LogFont.lfEscapement := 450; // 45度  ??               //加载文件对象吗?
LogFont.lfOrientation := 450; // 45度 ??
theFont.Handle := CreateFontIndirect( LogFont ); //???
Font.Assign( theFont ); 
theFont.Free; 
TextOut( X, Y, 'Hello!' ); 
end; 
end; 
该段代码能实现字体的旋转很多地方我搞不懂
请大家指导

解决方案 »

  1.   

    TLogFont = WIN32 SDK中的 LOGFONT 结构你自己看SDK中的解释吧
    typedef struct tagLOGFONT { // lf  
       LONG lfHeight; 
       LONG lfWidth; 
       LONG lfEscapement; 
       LONG lfOrientation; 
       LONG lfWeight; 
       BYTE lfItalic; 
       BYTE lfUnderline; 
       BYTE lfStrikeOut; 
       BYTE lfCharSet; 
       BYTE lfOutPrecision; 
       BYTE lfClipPrecision; 
       BYTE lfQuality; 
       BYTE lfPitchAndFamily; 
       TCHAR lfFaceName[LF_FACESIZE]; 
    } LOGFONT; 字体在Windows中是图形对象,这里的GetObject是用来返回系统字体的LOGFONT结构
    lfEscapement
    lfOrientation
    的解释已经在SDK中了