• ベストアンサー

リソースファイルとは・・・

リソースについて、2つ疑問が沸きました。 もしよろしかったら、アドバイスよろしくお願い致します。 (1)最近まで、Visual C# .NETを使用しておりました。 さきほど、Visual C++ .NETをいろいろいじっていたのですが、C++にはリソースというフォルダがあって、C#にはないのか疑問になりました。 どうしてC++では、リソースとして明確に分けているのかどうしてもわかりません。(そういえば、C#では、多言語に対応できないのかな・・・!?) (2)C#では、たとえば、メニューのキャプションを変更したりといったことは、コードと同じように編集できるのに、どうしてC++では、わざわざリソースエディタのメニューデザイナで編集させているのでしょうか? あと、リソースエディタの中にダイアログと言う項目があるのも不思議でなりません。ダイアログもフォームなのにリソースなんでしょうか?(リソースファイルとして保存して何か意味あるのでしょうか?)

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

  • ベストアンサー
  • mcWalker
  • ベストアンサー率69% (27/39)
回答No.1

リソースには、言語指定が可能で、例えばエラーメッセージの ような文字列の定義に日本語と英語の両方を記述できます。 で、やったことはありませんが、起動OSにより対応する リソースが使われます。 このような多言語アプリケーションをリソースを使わずに 作ろうとすると、例えばプログラムの中に複数の文字列を 記述することになりますが、この煩雑さから解放されます。 ダイアログにも項目名が使われますから、言語に依存して います。 また、リソースを編集するツールを使えば、英語アプリを 日本語に変更することも可能です。 言語だけでなく、プログラム・コードに影響がなければ 他の要素(例えば、アイコン)も変えられます。 但し、著作権が絡むものは、他人には渡せない制限が付きます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

リソースファイルって単なるテキストファイルです。 なんとか.rcってファイルができていると思うので開いてみてください。 リソースエディタはそのテキストファイルを簡単に変更するためのもので リソースエディタを使わなくてもテキストエディタで変更できます。 リソースに色々定義しておくことで、コンパイル時 なんでもかんでも(画像や音楽等)1つのexeファイルに詰め込むことができます。 ※ちなみにとりだすときはLoadResourceで開きます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • リソースの編集ができません。リソースビューが開かない

    VC++2005で、以前 .rcや.rc2ファイルをダブルクリックすると、 リソースエディタが開いて、ダイアログボックスの編集をツールボックスを使って設定しておりましたが、現在、ダブルクリックしても何も出てこなくなりました。 メニューの表示 - リソースビューも開きません。 何か設定が変わってしましたのでkしょうか? それともVisualStudioが壊れたのでしょうか?

  • リソースエディタについて

    プログラミングの初心者です。最近Borland C++ というコンパイラをダウンロードして順調にやっていたのですが リソースファイルをどうやって作るのかわかりません。 それ以前にBorland にリソースエディタはついているのですか?どうしてもリソースエディタがほしいので、visual studio 2008 express edition というコンパイラもインストールしたのですが肝心なリソースエディタがついていませんでした。いったいどうやってリソースファイルを作ればいいのでしょうか? 説明に不足があればまた足しますのでよろしくお願いします。

  • リソースのダイアログについて

    質問させてください。 現在私はvisual C++6.0のリソース機能を用いてダイアログを作成しております。 そのダイアログに、コントロールの機能をたくさん追加していたのですが、ある数を超えたところで追加できなくなりました。 ひとつのダイアログで使えるコントロールの数は限りがあるのでしょうか?? (MFCの機能は使っておりません。)

  • MFCのダイアログのリソースが更新されない

    Visual studio 2008(以後VS)のMFCのプロジェクトでリソース(ダイアログ)が 更新されなくなりました。原因はどういうのが考えられますか? リソースのIDがおかしくなっているのでしょうか? 具体的には、 ダイアログを追加、変更して更新→実行しても変更が反映されません。 リソースエディタで、表示上は更新されているのですが、 リソースファイル(以後rcファイル)をエディタ開いて中身を確認しても更新されていません。 直接、エディタでrcファイルを変更したら反映されますが、調整が面倒です・・・。 最悪、バックアップを使って差分を実装しなおしですね・・・ ■原因で思い当たる節 VSでリソースエディタを開きながら、外部のエディタでもrcファイルを更新し、 変更後VSで外部での更新メッセージがでたとき、いいえ(更新しない)と してしまったかもしれません。

  • リソースの多国語化で

    現在、顧客の関係でVisualStudio2003でC++のプログラミングをしております。 その中で、中国語やドイツ語などのリソースの追加依頼があり、 その言語の文字列をもらっています。 そこで、リソースファイルをEmeditorなどのエディターで直接開き、編集して保存すると、他の言語の部分でコンパイルエラーが起こってしまいます。 開くときのエンコードは、中国語であれば、GB2312で開き、編集後保存する際には、同じエンコードで保存したり、SJISで保存をしたり試しました。が、やはり、同じようにコンパイルエラーになってしまいます。 そもそもこのような方法はとれませんでしょうか?もしくは、他に何か方法があれば、お教え願えれば助かります。 よろしくお願いいたします。

  • VisualStudio .Net リソースエディタでタブコントロール利用方

       VisualStudio .Net で C++ を使ってプログラミングを始めてました。  ダイアログの中に『タブコントロール』を入れたいのです。  リソースエディタで、ダイアログ中にタブコントロールを入れると 5枚のタブが入っているようなのですが、これって見せかけですよね。  『タブコントロール』のプロパティを見ても、実際の内容(ダイアログか?) と関係つける属性が見つかりませんでした。  過去の投稿を調べましたが、よくわかりませんでした。  リソースエディタで、タブコントロールに関係付ける方法があるのでしょう か? それとも、やっぱりコーディングで関係付けるのが正解なのでしょうか?  ご教授をお願いします。  

  • 海外のソフトを日本語化する方法を教えてください。

    最近海外の方が製作されたソフトを日本語化していて、 ほとんどの場合はメニュー、ダイアログ、ステータスバー、はリソースエディタ(Resource Hacker等)で編集して、 残り(警告ダイアログ、メニュー)はバイナリエディタ(Stirling等)で地味に日本語化しているのですが、 それ以外(Resource Hackerでは編集できないもの)はどうやって日本語化すればいいのでしょうか? バイナリエディタだけで編集しないといけないこともありますか? バイナリエディタでも編集できないものはあるんですか? その場合は他に有効なソフトはありますか? よろしくお願いします。

  • VBEについて

    Visual Basic Editor、ユーザーフォーム、キャプション、プロパティ、コントロールツールボックス、表示ツールバーについての詳しい説明を、どれかわかるもののみでも良いので教えてください。

  • OnInitDialog()の関数の組み込み方

    Visual Studio2005でC++のプログラミングを始めました。 (今まではVC++6.0を使っていました。) リソースエディタでダイアログを作り、新規クラスを作った後 このクラスにOnInitDialog()の関数を追加したいのですが リソースのプロパティのメッセージにはWM-INITDLGがありません。 どのようにして、この関数を追加しますか?

  • リソースビューが表示されない(VC++ 6.0)

    VC++ 6.0を用いてプログラミングの勉強をしているものです. プロジェクトを起動した際,画面左部に表示されるワークスペースには ・Class View ・Resource View ・File View の3つのタブがあると思うのですが,Resource View内にあるフォルダをクリックすると 「このファイルは既にエディタ内に開いています」というメッセージボックスが表示され,ワークスペースに「ロードに失敗しました」という文章が先ほどのフォルダの1つ下階層の部分に表示されます. 確かに画面右部のエディタの部分に何らかのプログラム(おそらくですが,ダイアログやビットマップ,メニュー等の情報を文字化したものだと思われます)が表示されますが,非常に分かりにくく,思うような編集のやり方もわからず,困っています. このままビルド⇒実行してもうまく動いてくれるのですが,ダイアログボックスを手直ししたいので以前のように(以前はダイアログボックスやメニューが「図」として表示されていました)表示させたいと思っています. どなたかその方法をご存知の方がいらっしゃいましたら教えていただけませんでしょうか.よろしくお願いいたします.

このQ&Aのポイント
  • 自分の見ているものが世界の全てのように思っているが、実際は違うことが多い。
  • 自分の世代や経験に基づいて物事を判断し、他の立場や知識を理解することが難しい。
  • 他の人が自分を理解することや、自分が他の人を理解することは困難であるが、それでも他者と共有することを大切にするべき。
回答を見る

専門家に質問してみよう