dポイントプレゼントキャンペーン実施中!

リソースについて、2つ疑問が沸きました。
もしよろしかったら、アドバイスよろしくお願い致します。

(1)最近まで、Visual C# .NETを使用しておりました。
さきほど、Visual C++ .NETをいろいろいじっていたのですが、C++にはリソースというフォルダがあって、C#にはないのか疑問になりました。

どうしてC++では、リソースとして明確に分けているのかどうしてもわかりません。(そういえば、C#では、多言語に対応できないのかな・・・!?)

(2)C#では、たとえば、メニューのキャプションを変更したりといったことは、コードと同じように編集できるのに、どうしてC++では、わざわざリソースエディタのメニューデザイナで編集させているのでしょうか?

あと、リソースエディタの中にダイアログと言う項目があるのも不思議でなりません。ダイアログもフォームなのにリソースなんでしょうか?(リソースファイルとして保存して何か意味あるのでしょうか?)

A 回答 (2件)

リソースには、言語指定が可能で、例えばエラーメッセージの


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

リソースファイルって単なるテキストファイルです。


なんとか.rcってファイルができていると思うので開いてみてください。
リソースエディタはそのテキストファイルを簡単に変更するためのもので
リソースエディタを使わなくてもテキストエディタで変更できます。

リソースに色々定義しておくことで、コンパイル時
なんでもかんでも(画像や音楽等)1つのexeファイルに詰め込むことができます。
※ちなみにとりだすときはLoadResourceで開きます。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています