こんにちは。
プロパティーシートのプログラムです。
以下のエラーが出るんですが。
どう改善すればいいか教えてください。
よろしくお願いします。
28: 未定義のシンボル pszIcon(関数 WndProc )
31: 未定義のシンボル pszTemplate(関数 WndProc )
35: 未定義のシンボル pszTemplate(関数 WndProc )
42: 未定義のシンボル hIcon(関数 WndProc )
45: 未定義のシンボル phpage(関数 WndProc )
/*リソーススクリプト*/
PAGEICON ICON test.ico
KITTY DIALOG 0 , 0 , 150 , 70
FONT 16 , MS Sans Serif
CAPTION Kitty's Page {
LTEXT Kitty on your lap , -1 , 2 , 0 , 70 , 10
}
TARUTO DIALOG 0 , 0 , 150 , 70
FONT 16 , MS Sans Serif
CAPTION TARUTO's Page {
LTEXT Magical nyan nyan TARUTO , -1 , 2 , 0 , 100 , 10
}
#include <windows.h>
#include <commctrl.h>
#define TITLE TEXT(Kitty on your lap)
BOOL CALLBACK PageProc1(HWND hwnd , UINT msg , WPARAM wp , LPARAM lp) {
return FALSE;
}
BOOL CALLBACK PageProc2(HWND hwnd , UINT msg , WPARAM wp , LPARAM lp) {
return FALSE;
}
LRESULT CALLBACK WndProc(HWND hWnd , UINT msg , WPARAM wp , LPARAM lp) {
PROPSHEETPAGE psp;
PROPSHEETHEADER psh;
HPROPSHEETPAGE hPsp[2];
switch (msg) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_CREATE:
InitCommonControls();
return 0;
case WM_RBUTTONUP:
psp.dwSize = sizeof (PROPSHEETPAGE);
psp.dwFlags = PSP_DEFAULT | PSP_USEICONID;
psp.pszIcon = TEXT(PAGEICON);
psp.hInstance =
(HINSTANCE)GetWindowLong(hWnd , GWL_HINSTANCE);
psp.pszTemplate = TEXT(KITTY);
psp.pfnDlgProc = (DLGPROC)PageProc1;
hPsp[0] = CreatePropertySheetPage(&psp);
psp.pszTemplate = TEXT(TARUTO);
psp.pfnDlgProc = (DLGPROC)PageProc2;
hPsp[1] = CreatePropertySheetPage(&psp);
psh.dwSize = sizeof (PROPSHEETHEADER);
psh.dwFlags = PSH_DEFAULT | PSH_USEHICON;
psh.hwndParent = hWnd;
psh.hIcon = LoadIcon(NULL , IDI_ASTERISK);
psh.pszCaption = TITLE;
psh.nPages = 2;
psh.phpage = hPsp;
PropertySheet(&psh);
return 0;
}
return DefWindowProc(hWnd , msg , wp , lp);
}
http://wisdom.sakura.ne.jp/system/winapi/common/common12.html
のコードですよね?
リンクを貼っておかないと不味いかも。(勝手に載せていいの?ってこと)
とりあえず、OS,VCのバージョンはなんでしょうか?
回答どうもありがとうございます!
そうですそこのサイトのコピぺです。
コピペでエラーになってあせってます。
OS xp
Borland C++ Compiler 5.5
BCC Developer 1.2.21
です。
よろしくお願いします。
再現しないです。
Windows XP Pro Sp2
Borland C++5.5.1 for Win32
BCC Developer 1.2.21
<インストール先>\bcc55\bin
配下のbcc32.cfgで
-I<インストール先>\bcc55\Include
とIncludeディレクトリを指定していますか?
また
<インストール先>\bcc55\Include
配下のprsht.h(PROPSHEETPAGEおよびPROPSHEETHEADERの型宣言があるヘッダ)
は正しいでしょうかね?
私のは
更新日時:2000/03/03 5:00:00
サイズ:19.1KB
のファイルになっていますが、書き換えてしまってはいないですよね?
※これに対するレスの返信はBCCの環境(自宅)があるときにしかできませんので。
あ~
Cとしてコンパイルすると確かに出ますね。
どうもunionのメンバの指定が違うようです。
>psp.pszIcon = TEXT(PAGEICON);
psp.DUMMYUNIONNAME2.pszIcon = TEXT(PAGEICON);
>psp.pszTemplate = TEXT(KITTY);
psp.DUMMYUNIONNAME.pszTemplate = TEXT(KITTY);
>psp.pszTemplate = TEXT(TARUTO);
psp.DUMMYUNIONNAME.pszTemplate = TEXT(TARUTO);
>psh.hIcon = LoadIcon(NULL , IDI_ASTERISK);
psh.DUMMYUNIONNAME.hIcon = LoadIcon(NULL , IDI_ASTERISK);
>psh.phpage = hPsp;
psh.DUMMYUNIONNAME3.phpage = hPsp;
とそれぞれ変更してみるとどうでしょうか?
回答ありがとうございます!
unionだったんですね。
猫にも,これは載ってませんでした。
サイトも教えて頂きありがとうございます!
どうもありがとうございました!