MFC中GDI之CFont(字体)

字体主要是用于修饰文字输出的形状、高度、宽度、粗度、倾斜、删除线等。

BOOL CreateFontIndirect(const LOGFONT* lpLogFont); 根据LOGFONT结构体创建一个字体
BOOL CreateFont(
     int nHeight,
     int nWidth,
     int nEscapenment,
     intnOrientation,
     int nWeight,
     BYTE bItalic,
     BYTE bUnderline,
     BYTE cStrikeOut,
     BYTE nCharset,
     BYTE nOutPrecision,
     BYTE nClipPrecision,
     BYTE nQuality,
     BYTE nPitchAndFamily,
     LPCTSTR lpszFacename
    );
根据指定数值创建字体,其参数与LOGFONT成员一致,故等价于 CreateFontIndirect
BOOL CreatePointFont(int nPointSize, LPCTSTR lpszFaceName, CDC* pDC = NULL); 根据字体的名字和高度创建字体
BOOL CreatePointFontIndirect(const LOGFONT* lpLogFont, CDC* pDC = NULL); 根据LOGFONT结构体创建点字体
static CFont* FromHandle(HFONT hFont) 将HFONT句柄转换为CFont对象
operator HFONT() const 从CFont对象中获取HFONT句柄
int GetLogFont(LOGFONT* pLogFont); 获取字体的名称和高、宽等属性信息

wingdi.h中定义:

/* Logical Font */
#define LF_FACESIZE         32

typedef struct tagLOGFONTA
{
    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;
    CHAR      lfFaceName[LF_FACESIZE];
} LOGFONTA, *PLOGFONTA, NEAR *NPLOGFONTA, FAR *LPLOGFONTA;
typedef struct tagLOGFONTW
{
    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;
    WCHAR     lfFaceName[LF_FACESIZE];
} LOGFONTW, *PLOGFONTW, NEAR *NPLOGFONTW, FAR *LPLOGFONTW;

#ifdef UNICODE
typedef LOGFONTW LOGFONT;
typedef PLOGFONTW PLOGFONT;
typedef NPLOGFONTW NPLOGFONT;
typedef LPLOGFONTW LPLOGFONT;
#else
typedef LOGFONTA LOGFONT;
typedef PLOGFONTA PLOGFONT;
typedef NPLOGFONTA NPLOGFONT;
typedef LPLOGFONTA LPLOGFONT;
#endif // UNICODE

猜你喜欢

转载自www.cnblogs.com/htj10/p/11946075.html