フォントを作成するには、CreateFontを使用します。

CreateFont関数を使用するためには、以下のパラメータを提供する必要があります。

  1. フォントの高さ(ピクセル単位)
  2. 文字の幅(ゼロでも可、デフォルトはゼロ)
  3. 文字の斜体(TRUEは斜体、FALSEは非斜体)
  4. 文字の下線(TRUEで下線あり、FALSEで下線なし)
  5. フォントの太さ(0はデフォルトの太さ、FW_BOLDは太字)
  6. 文字の斜体(0はデフォルト、0より大きいと右斜体、0より小さいと左斜体)
  7. True : 下線のあるフォント(TRUEは下線あり、FALSEは下線なし)
  8. 文字の取り消し線(TRUEは取り消し線がある、FALSEは取り消し線がない)
  9. フォントのキャラクターセット(具体的な値はMSDNドキュメントを参照してください)
  10. デフォルトで設定された文字出力の精度は、OUT_DEFAULT_PRECISです。
  11. デフォルトの精度(CLIP_DEFAULT_PRECIS)
  12. デフォルトでは、フォントの品質はDEFAULT_QUALITYに設定されています。
  13. 文字ファミリー(デフォルトはDEFAULT_PITCH | FF_DONTCARE)
  14. フォント名

以下はサンプルコードです。

HFONT hFont = CreateFont(
    20,     // 字体高度
    0,      // 字体宽度
    0,      // 斜体
    0,      // 下划线
    FW_NORMAL,  // 字体粗细
    0,      // 倾斜性
    0,      // 下划线
    0,      // 删除线
    DEFAULT_CHARSET,    // 字符集
    OUT_DEFAULT_PRECIS, // 输出精度
    CLIP_DEFAULT_PRECIS,    // 剪辑精度
    DEFAULT_QUALITY,    // 字体质量
    DEFAULT_PITCH | FF_DONTCARE,    // 字体族别
    L"Arial"    // 字体名称
);

// 使用字体
HDC hdc = GetDC(NULL);
HFONT hOldFont = (HFONT)SelectObject(hdc, hFont);
TextOut(hdc, 10, 10, L"Hello, World!", wcslen(L"Hello, World!"));
SelectObject(hdc, hOldFont);
DeleteObject(hFont);
ReleaseDC(NULL, hdc);

この例では、高さ20ピクセルでArialフォントを作成し、それをデバイスコンテキスト(HDC)に適用して、ウィンドウの上部にテキストを描画しています。

bannerAds