ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:keigo0165 フォントの指定 猫でもわかる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 = "keigo shinohara";

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の値が構文エラーで参照できない。
質問投稿日時:08/03/25 00:13
質問番号:3892170
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答10pt

回答者:php504 case WM_CREATE:
hFont1 = MyCreateFont(40, SHIFTJIS_CHARSET, "HG行書体");
hFont2 = MyCreateFont(40, ANSI_CHARSET, "Fraktur JS");
hFont3 = MyCreateFont(40, SHIFTJIS_CHARSET, "MS 明朝");

ここで出てきたMyCreateFontが何なのかコンパイラに理解できないのでしょう
これより前に

//論理フォントの作成
HFONT MyCreateFont(int nHeight, DWORD dwCharSet, LPCTSTR lpName){

}
を定義するかMyCreateFont関数のプロトタイプ宣言を書いておかないといけません
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/03/25 09:01
回答番号:No.2
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

良回答20pt

回答者:Wr5 書籍は持っていないのですが…
フォント関係だと、
http://www.kumei.ne.jp/c_lang/sdk/sdk_27.htm
ですかね?

> MyCreateFontの識別子が見つかりません。

プロトタイプ宣言はちゃんとやっているんですよね?

> 論理フォントの関数のFALSEの値が構文エラーで参照できない。
は…
> return(CreateFont(nHeight, 0, 0, 0,
> FW_DONTCARE.
> FALSE,
でFW_DONTCAREのあとがピリオドになっているようですが?

使用している開発環境はなんでしょう?
一応、VS2005(多分VS2008も)の場合、
http://www.kumei.ne.jp/c_lang/net2005/index.html
http://www.kumei.ne.jp/c_lang/net2005/project.htm
などが参考になるかも知れません。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/03/25 00:37
回答番号:No.1
この回答へのお礼この回答にお礼をつける(質問者のみ)
 
最新から表示回答順に表示良回答のみ表示