字体主要是用于修饰文字输出的形状、高度、宽度、粗度、倾斜、删除线等。
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