TextOutで表示されるフォントの変更

フォントを作成することで色々な表示をさせる事が出来ます。
流れはデバイスコンテキストの用意、フォント作成、表示、フォントを戻すといった順番で進めます。


CClientDC dc(this);  // デバイスコンテキストの用意。
CFont* pFont;
CFont font;

// フォントを作成する
font.CreateFont(
    15,                   // フォントの高さ(大きさ)。
    0,                    // フォントの幅。普通0。
    0,                    // 角度。0でOK。
    0,                    // 同じく角度。これも0。
    FW_DONTCARE,          // 文字の太さ。
    FALSE,                // フォントがイタリックならTRUEを指定。
    FALSE,                // 下線を引くならTRUE。
    FALSE,                // 取り消し線を引くならTRUE。
    SHIFTJIS_CHARSET,     // フォントの文字セット。このままでOK。
    OUT_DEFAULT_PRECIS,   // 出力精度の設定。このままでOK。
    CLIP_DEFAULT_PRECIS,  // クリッピング精度。このままでOK。
    DRAFT_QUALITY,        // フォントの出力品質。このままでOK。
    DEFAULT_PITCH,        // フォントのピッチとファミリを指定。このままでOK。
    _T("MS Pゴシック") // フォントのタイプフェイス名の指定。これは見たまんま。
    );
pFont = dc.SelectObject(&font);        // フォントを設定。
dc.SetTextColor(RGB(255, 255, 0));     // 色も変えられる。
dc.SetBkColor(RGB(255, 00, 00));       // 背景色も変えたり出来る。
dc.TextOut(50, 50, _T("あいうえお"));  // ウィンドウに表示。
dc.SelectObject(pFont);                // フォントを元に戻す。

CreateFont()でフォントを作成しますが引数はコメントを参照してください。
それで作成したフォントをSelectObject()で設定しますが
この時、古いフォントのポインタを返してくるので保存しておきます。
それからデバイスコンテキストのメンバを変更すると色なども変更できます。

TextOut()で表示した後はフォントを元に戻しておかなければなりません。
そこで保存していた古いフォントを使用し元に戻します。

ちなみに上の例の表示結果。

test
 
あいうえお

大体こんな感じです。

< 戻る << HOME ©1999-2001 by Akky, All right reserved.