WindowsXP
現在、Visual C++2008 ExpressでWindowsアプリ製作をはじめました。
http://www.geocities.jp/ky_webid/win32c/028.html
のとおりに、作業してメニューバーを追加しようとしています。
リソースはXNResourceEditorで作成しました。
しかし、作成したRESファイルのリソースを、どのようにプロジェクトへ追加するのかが分かりません。
検索して見たのですが、どうも常識なのか、やり方が見つからないので質問しました。
よろしくお願いします。
プロジェクトメニューの「既存項目の追加」
又は
プロジェクトを選択して「追加」‐「既存の項目」
ヘッダファイルのインクルードも忘れずに。
ありがとうございます。
確かにメニューに追加できました。
しかしロードが出来ません。
例えば、SampleMenu.RESで中身がSampleMenuというリソースを作った場合、
hMenu = LoadMenu( NULL, _T("SampleMenu") );
とするかと思いますが、ロードできません。
名前が、IDR_MENUでないといけないのでしょうか?
よろしくお願いします。
追加ですが、IDR_MENUという名前だとロードを確認しております。
よろしくお願いします。
RESってリソースファイルのこと?
昔のVCなら
resource.h
にdefineして
リソースファイルの中にそのdefineでメニュー作るって手順。
関係ないけど、リソースファイルは、テキストエディタで編集したほうが良いよ。
>リソースファイルは、テキストエディタで編集したほうが良いよ。
さすがに初心者マーク相手にそれは極論でしょう。言いたいことは分からないでもないですが。
初心者は普通にリソースエディタ使った方が吉。
>追加ですが、IDR_MENUという名前だとロードを確認しております。
ならIDR_MENUでいいんじゃないですか?失敗しましたか?
SampleMenuはリソースファイル名な気がします。
IDR_MENUはリソースファイル内に(あなたが)定義されたメニューの名前な気がします。
気のせいだったらすみません。
ちなみに、実行中に特にメニュー内容を変えないなら、
わざわざCREATEWINDOW時にLoadMenuを使わなくても
CreateWindowを呼び出す前にある
wc.lpszMenuname = NULL;
を
wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU); //"resource.h"を読み込んでいるとき
または
wc.lpszMenuName = "IDR_MENU"; //読んでないとき
に変えるだけでいいと思います。
こんにちは。
ありがとうございます。
>さすがに初心者マーク相手にそれは極論でしょう。言いたいことは分から>ないでもないですが。
>初心者は普通にリソースエディタ使った方が吉。
しばらくはリソースエディタでやっていきます。
>SampleMenuはリソースファイル名な気がします。
おっしゃるとおりリソースファイル名であります。しかし、中でリソースの属性を指定する場所があり、IDR_MENUだと成功し、他の名前だと失敗しました。
たしかに、IDR_MENUでOKなら、問題ないといえば問題ありません。
>wc.lpszMenuname = NULL;
>を
>wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU); //"resource.h"を読み込>んでいるとき
>または
>wc.lpszMenuName = "IDR_MENU"; //読んでないとき
でやってみました。
どうもありがとうございました。
取り合えず先に進んでみます。