• ベストアンサー

猫でもできる ~ にエラーが出ます。

以下、のサンプルプログラムを VC6.0 でコンパイルしようとすると custom01.rc (ダイアログ) のところでエラーが出ます。 http://www.kumei.ne.jp/c_lang/sdk3/sdk_261.htm error RC2104 : undefined keyword or key name: IDC_EDIT1 こちらのサンプルは、ストレートに動かないことはままあります。 VCのバージョンが違うからなのか、はたまたヘッダーファイルなどの追記忘れなのか。 (基本的に書いてあるとおりに忠実にやっているつもりなんですが)

  • alx
  • お礼率97% (112/115)

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

resource.hの中身はどうなってますか? IDC_EDIT1のdefineが無いんだと思いますけど。

alx
質問者

お礼

すみません、できました。 おっしゃるとおりでした。リソースダイアログの使い方は初めてだったので、 こんな初歩の初歩もわかりませんでした。 ありがとうございました。

関連するQ&A

  • コンパイルエラー'CObject::operator =' : private メンバ (クラス 'CObject' で宣言されている) にアクセスできません。

    現在ダイアログA,B,Cがあります。 Aにはボタン2つ([C]呼び込みボタンと[格納]ボタン)、タブがあり、 Bにはエディットボックス(IDC_EDIT1)とスピンボタン(IDC_SPIN1)が Cにもエディットボックス(IDC_EDIT2)とスピンボタン(IDC_SPIN2)があります。 BもCもスピンボタンを押すたびに数値が増減します。 それで、 Aは呼び出し元 BはAにあるタブ内に表示されるダイアログ CはAのボタン押下で呼び出されるダイアログ です。 Aのヘッダに CBDlg m_bdlg; CCDlg m_cdlg; struct aaa { int b; // Bダイアログのスピンの数値を格納する   int c; // Cダイアログの〃 }; と定義しました。 Aの[格納]ボタンを押すと構造体に格納されるようにしたいので void CADlg::OnBnClickedKakuno() { struct aaa astruct; astruct.b = m_bdlg.GetDlgItemInt(IDC_EDIT1); astruct.c = m_cdlg.GetDlgItemInt(IDC_EDIT2); } このようにしてコンパイルをしたところ ------------------------------------------------- 1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxwin.h(1820) : error C2248: 'CObject::operator =' : private メンバ (クラス 'CObject' で宣言されている) にアクセスできません。 1> c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(559) : 'CObject::operator =' の宣言を確認してください。 1> c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(529) : 'CObject' の宣言を確認してください。 1> コンパイラでのこの診断により関数 'CCmdTarget &CCmdTarget::operator =(const CCmdTarget &)' が生成されました。 ------------------------------------------------- のようなエラーが発生しました。 どうすればよいのでしょうか? 解決法の程、ご教授いただければと思います。

  • VC++2005でのリソースコンパイルエラーについて

    よろしくお願いします。 猫でもわかる…… を参考にしながら、C言語でスクリーンセイバーを作成しています。 BCCForm and Skelton で作成したリソースをVC++2005で利用してます。 『設定のためのダイアログボックスを表示しないスクリーンセイバー』 はうまく行ったのですが、 『設定用ダイアログボックスを表示させるプログラム』 ではエラーが出てしまいます。 WS_EX_DLGMODALFRAME  この部分が良くないらしいのですが、コメントアウトしてみたり、 削除してみたり、記述を変えたりしたのですが、うまくコンパイルしてくれません。 詳しい方、アドバイスをお願いします。 //----------------------------------------- // BCCForm Ver 2.41 // An Easy Resource Editor for BCC // Copyright (c) February 2002 by ysama //----------------------------------------- #include "Resscreensav.h" //---------------------------------- // ダイアログ (DLG_SCRNSAVECONFIGURE) //---------------------------------- DLG_SCRNSAVECONFIGURE DIALOG DISCARDABLE 0, 0, 270, 180 EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_APPWINDOW STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX CAPTION "設定" FONT 8, "MS 明朝" { CONTROL "表示間隔", IDC_STATIC, "STATIC", WS_CHILD | WS_VISIBLE | SS_NOTIFY, 24, 18, 63, 15 CONTROL "表示文字列", IDC_STATIC, "STATIC", WS_CHILD | WS_VISIBLE | SS_NOTIFY, 24, 54, 63, 15 CONTROL "表示回数", IDC_STATIC, "STATIC", WS_CHILD | WS_VISIBLE | SS_NOTIFY, 27, 93, 63, 15 CONTROL "", IDC_EDIT1, "EDIT", WS_CHILD | WS_DLGFRAME | WS_VISIBLE | ES_AUTOHSCROLL, 102, 18, 102, 15 CONTROL "", IDC_EDIT2, "EDIT", WS_CHILD | WS_DLGFRAME | WS_VISIBLE | ES_AUTOHSCROLL, 102, 51, 102, 15 CONTROL "", IDC_EDIT3, "EDIT", WS_CHILD | WS_DLGFRAME | WS_VISIBLE | ES_AUTOHSCROLL | ES_LEFT, 105, 90, 102, 15 CONTROL "OK", IDOK, "BUTTON", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 18, 144, 69, 15 CONTROL "キャンセル", IDCANCEL, "BUTTON", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 165, 144, 69, 15 } //-------------------------- // イメージ(MYBMP) //-------------------------- MYBMP BITMAP DISCARDABLE "C:\My Pictures\scan1\scan5.bmp" //-------------------------- // イメージ(ID_APP) //-------------------------- ID_APP DISCARDABLE "icon1.ico" //----------------------------------------- // BCCForm Ver 2.41 // Header File for Resource Script File // Copyright (c) February 2002 by ysama //----------------------------------------- //--------------------- // ダイアログリソース //--------------------- // ダイアログ DLG_SCRNSAVECONFIGURE #define IDC_STATIC 100 #define IDC_EDIT1 103 #define IDC_EDIT2 104 #define IDC_EDIT3 105 #define DLG_SCRNSAVECONFIGURE 2003 //--------------------- // メニューリソース //--------------------- //--------------------- // イメージリソース //--------------------- //#define MYBMP 200 //#define ID_APP 100 //--------------------- // ストリングテーブル //--------------------- //-------------------- // アクセラレーター //-------------------- //------------------ // ヴァージョン情報 //------------------ ------ ビルド開始: プロジェクト: screensav, 構成: Release Win32 ------ リソースをコンパイルしています... ..\..\..\..\Bitmap\screensav\screensav.rc(12) : error RC2104 : undefined keyword or key name: WS_EX_DLGMODALFRAME ビルドログは "file://c:\Visual Studio 2005\Projects\screensav\screensav\Release\BuildLog.htm" に保存されました。 screensav - エラー 1、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========

  • error RC2104について

    いつもお世話になってます。 VS2005でC++を用いてWindowsアプリケーションを作成してます。 今までのリソーススクリプトに   MENUITEM "ヘルプ(&H)", IDM_HELP またヘッダースクリプトに   #define IDM_HELP 600 を追加したところ、以下のようなエラーが出ました。   error RC2104 : undefined keyword or key name: IDM_HELP ------------------------------ Webで調べていろいろ試してみたのですが改善されません。 ソースファイルに   #include <winuser.h> を追加したり、ヘッダーファイルに   #ifdef IDC_HELP   #undef IDC_HELP   #endif   #define IDC_HELP (-1) を追加してもだめでした。 まだまだ未熟な知識ですので、とても困っております。 ぜひご教授お願いいたします。

  • 猫でもわかるプログラミング WindowsSDK編 第一部6章

    WindowsXP cygwin gcc で以下のプログラム(Sample02.cpp)を作成しています。 http://www.kumei.ne.jp/c_lang/sdk/sdk_06.htm sample02.h,sample02.rc,sample02.cppをエディタで書いて同一フォルダに置いた後、コマンドプロンプトよりgccでコンパイルし、プログラムを実行すると、メッセージの書かれたウィンドウは表示されるのですが、メニューが表示されません。 どこかプログラムを変更しないとだめなんでしょうか? ご存知の方いらっしゃいましたらアドバイスお願い致します。

  • 猫でも 20章

    LRESULTはlong型、DWORDはmsdnより、「32 ビットの符号なし整数、またはセグメント アドレスとそれに関連するオフセット」、SendMessageは返り値はLRESULT型。それで、猫でもわかるプログラミング20章(http://www.kumei.ne.jp/c_lang/sdk/sdk_20.htm)、の上のほうにリスト等の情報を取得するのに、 int getDlg(HWND hDlgWnd) { GetWindowText(GetDlgItem(hDlgWnd, IDC_EDIT1), edit_str, sizeof(edit_str)); ScrPos = GetScrollPos(GetDlgItem(hDlgWnd, IDC_SCROLL1), SB_CTL); ListNo = (int)(DWORD)SendMessage(GetDlgItem(hDlgWnd, IDC_LIST1), LB_GETCURSEL, 0L, 0L); ComboNo = (int)(DWORD)SendMessage(GetDlgItem(hDlgWnd, IDC_COMBO1), CB_GETCURSEL, 0L, 0L); return 0; } とあるのですが、SendMessageを(int)(DWORD)とキャストしているのはなぜなんでしょうか。(int)ではダメですか?

  • リソースのコントロールについて

    プログラム初心者です。 よろしくお願いします! 現在私は、visualstudio6.0のソフトで、リソース機能を持ちいてある機能の実現に向けてプログラムを書いています。 そこで質問なのですが、 たとえばリソース機能を用いてダイアログボックスにエディットボックスを20つ設けますと、それぞれIDC_EDIT1~IDC_EDIT20と計20個IDができますよね? その20個を私の書いているソースの中にそれぞれ違う値をいれたいので、 イメージでは for(i=1;i<21;i++){ IDC_EDIT[i] } というようにしたいのですが、IDC_EDIT[i]ではやはりコンパイルエラーが出てしまいます。ソースをずらずら長く書けばできないこともないのですが、大変な量になるので簡単にできないだろうかと検討中です。 この場合、ソースをコンパクトにすることは可能でしょうか?ご教授よろしくお願い致します。

  • ラジオボタンのメンバ変数

    VC++6.0でMFC AppWizard(exe)というプロジェクト、ダイアログベースでプログラミングしています。 ダイアログにラジオボタンを三つ配置し、Radio1を右クリック→プロパティ→グループにチェックを入れました。 そして、IDC_RADIO1にメンバ変数m_Radio(int)を追加してコンパイルすると「問題が発生したため終了します」というダイアログが出ます・・。 メンバ変数を削除するとコンパイルは成功します。 何が間違いでこんなエラーが出るのでしょうか? どうかよろしくお願いします。

  • BCB5 「コンパイラ内部エラー」の回避方法

    Borland C++ Builder5 を使っています。 WindowsXP Pro SP2の環境です。 ダイアログを表示するプログラムを作ろうとすると、コンパイルエラーになります。 この回避方法をお教え下さい。 親Form1のメニューを選択した時に OptionDlg->ShowModal(); で表示しようとしています。 OptionDlgは、「ファイル-新規-ダイアログ」で作ったダイアログです。 ダイアログのNameプロパティに「OptionDlg」と指定し、ソースはOptionDlgu.cppで 登録しました。 親Formで、ヘッダーファイルの追加もしています。 このような状態でコンパイルすると、 sysutils.hpp( ):F1004コンパイラ内部のエラー というメッセージが出て、コンパイル出来ません。 上記の方法で、ダイアログを表示するだけのサンプルプログラムを作ると、 正常にコンパイル出来ます。 初心者の私には、sysutils.hppが何を記述している部分なのか理解出来ていない のですが、今までにも同様の手順でダイアログを出すプログラムを作っていて、 何も問題なかったので、途方に暮れています。

  • VC構文エラー、”:”

    VC++6でコンパイルしています コンパイラが古いのだと思いますが、最近のサンプルソース(誤記は無いはず)が合成時エラーします struct _MP { USHORT MaxPacket:11; /* 0..10 */  ←エラー USHORT HSmux:2; /* 11..12 */ USHORT Reserved:3; /* 13..15 */ }; error C2059: 構文エラー : 'constant' ここの MaxPacket:11; 見たこと無い書き方なのですが ”:” がvc+++6でエラーなのだと思います vc++6的にはどう書くのでしょうか? よろしくお願いします

  • DirectX 2005 Aprilのコンパイルについて

    DirectX SDK summer2003で開発していたのですがDirectX SDK 2005 Aprilが出たのを機にバージョンアップをしたところ今までコンパイルできていたサンプルがコンパイル出来なくなってしまいました。 次のようなエラーが出ました。 error C2664 'D3DXLoadMeshFromXof':1番目の引数を'LPDIRECTXFILEDATA'から'LPD3DXFILEDATA'に変換できません error C2061 構文エラー 識別子'LPDIRECTXFILEDATA' です。 どなたか対処の方法ご存知の方教えていただけないでしょうか。 開発環境はVC++.net2003です。