プロパティーシート – プログラミング – Home

通知
すべてクリア

[解決済] プロパティーシート


たこ焼き
 たこ焼き
(@たこ焼き)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

こんにちは。
プロパティーシートのプログラムです。
以下のエラーが出るんですが。
どう改善すればいいか教えてください。
よろしくお願いします。

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);
}


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

http://wisdom.sakura.ne.jp/system/winapi/common/common12.html
のコードですよね?
リンクを貼っておかないと不味いかも。(勝手に載せていいの?ってこと)

とりあえず、OS,VCのバージョンはなんでしょうか?


返信引用
たこ焼き
 たこ焼き
(@たこ焼き)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

回答どうもありがとうございます!
そうですそこのサイトのコピぺです。
コピペでエラーになってあせってます。

OS xp
Borland C++ Compiler 5.5
BCC Developer 1.2.21

です。
よろしくお願いします。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

再現しないです。

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の環境(自宅)があるときにしかできませんので。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

あ~
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;

とそれぞれ変更してみるとどうでしょうか?


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

てか
http://lets-go.hp.infoseek.co.jp/c_setting07.html
に載っているやん。。。


返信引用
たこ焼き
 たこ焼き
(@たこ焼き)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

回答ありがとうございます!
unionだったんですね。
猫にも,これは載ってませんでした。
サイトも教えて頂きありがとうございます!
どうもありがとうございました!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました