文字の背景について見ていきます。
//
// 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 は背景を塗らないで文字を描くモードです。