フォントの指定 猫でもわかるwindowsプログラミングより
猫でもわかるwindowsプログラミングの本で勉強している学生なんですが、第2章の2.4フォントの指定のところでプログラムを打ち込んでコンパイルしたのですがなぜか識別子が見つかりませんというエラーがでてコンパイルできません。どなたかわかる方お願いします。
一応プログラム(CALLBACK関数と論理フォント作成の関数のみ)↓
//ウィンドウプロシージャ
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp){
static HFONT hFont1, hFont2, hFont3;
PAINTSTRUCT ps;
HDC hdc;
char *szName1 = "○○";
char *szName2 = "▲▲";
switch (msg) {
case WM_CREATE:
hFont1 = MyCreateFont(40, SHIFTJIS_CHARSET, "HG行書体");
hFont2 = MyCreateFont(40, ANSI_CHARSET, "Fraktur JS");
hFont3 = MyCreateFont(40, SHIFTJIS_CHARSET, "MS 明朝");
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
SelectObject(hdc, hFont1);
TextOut(hdc, 0, 0, (LPCTSTR)szName1,
(int)strlen(szName1));
SelectObject(hdc, hFont2);
TextOut(hdc, 0, 60, (LPCTSTR)szName2,
(int)strlen(szName2));
SelectObject(hdc, hFont3);
TextOut(hdc, 0, 120, (LPCTSTR)szName1,
(int)strlen(szName1));
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
DeleteObject(hFont1);
DeleteObject(hFont2);
DeleteObject(hFont3);
PostQuitMessage(0);
break;
default:
return (DefWindowProc(hWnd, msg, wp, lp));
}
return 0;
}
//論理フォントの作成
HFONT MyCreateFont(int nHeight, DWORD dwCharSet, LPCTSTR lpName){
return(CreateFont(nHeight, 0, 0, 0,
FW_DONTCARE.
FALSE,
FALSE,
FALSE,
dwCharSet,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH | FF_DONTCARE,
lpName));
}
エラー内容↓
MyCreateFontの識別子が見つかりません。
論理フォントの関数のFALSEの値が構文エラーで参照できない。
お礼
BeginPaint では、窓の右に半分重なっていた別の窓が 消えた場合、窓の全てを再描画するのではなく、 窓の右半分だけを描画するということですね。 知りませんでした。ありがとうございます。 繰り返し については、窓のちらつきを見た感じで 予想したことです。