フォント

文字の背景について見ていきます。

文字の背景(win165.cpp)

//
//	MyApp.h
//

class MyApp : public MyMainWnd{
public:
	// WM_PAINT
	void wmPaint(HDC hdc){
		MyDC g(hdc);

		g.TextBkMode(FALSE);
		g.TextOut(10, 10, L"Hello!");
	}
};

実行画面です。 文字の背景を見てください。

解説

文字を表示させると、背景が白くなっていました。 これは次のように考えます。 まず、背景を白いブラシで塗る。 その後、文字をペンで描くのです。 SetBkMode関数は、このやり方を変えることができます。

int SetBkMode(
  HDC hdc,      // デバイスコンテキストのハンドル
  int iBkMode   // 背景モード
);

iBkMode には、OPAQUE か TRANSPARENT を代入します。 OPAQUE は既定のモードです。 TRANSPARENT は背景を塗らないで文字を描くモードです。


[前] [目次]