1. HFONT CreateFont(
  2. int cHeight, //字体的逻辑高度
  • int cWidth, //字体的逻辑宽度
  • int cEscapement, //指定移位向量相对X轴的偏转角度
  • int cOrientation, //指定字符基线相对X轴的偏转角度
  • int cWeight, //设置字体粗细程度
  • DWORD bItalic, //是否启用斜体
  • DWORD bUnderline, //是否启用下划线
  • DWORD bStrikeOut, //是否启用删除线
  • DWORD iCharSet, //指定字符集
  • DWORD iOutPrecision, //输出精度
  • DWORD iClipPrecision, //剪裁精度
  • DWORD iQuality, //输出质量
  • DWORD iPitchAndFamily, //字体族
  • LPCSTR pszFaceName //字体名
  • );
    上面的14个参数完全记住几乎不可能,下面是简单的说明,其他的“照猫画虎”即可。

    1) 参数 cWidth 和 cHeight 通常取负值,且高度为宽度的2倍,如 -18 和 -9,即可指定 13.5 |(H+W)/2| 磅的字体。

    2) 对于字体粗细程度 cWeight,可以使用 FW_ 开头的宏定义;一般取 FW_NORMAL (400),此参数需要值的值域为 [0,1000]。

    3) 对于参数 bItalic、bUnderline、bStrikeOut,直接使用 TRUE 或 FALSE 传值即可。

    4) 对于字符集 iCharSet,一般可以直接使用 DEFAULT_CHARSET 让系统自动处理。
    注意:字体也是一种 GDI 对象,使用完后也要在 WM_DESTROY 消息中删除。
    创建完字体后并不能立即使用,还需要手动触发 WM_SETFONT 消息,让Windows 将当前字体设置为我们创建的字体。