はじめまして。
VC++.NET2003を使用していて、リソースエディタで作成したリソースについて質問があります。
リソースエディタで作成したダイアログがあるとします。
ダイアログAを作るとダイアログ用のクラスAができると思います。
このダイアログAを違うクラスとして作成することはできないのでしょうか?
基本的にリソースエディタでダイアログを作成したら違うタイプのクラスとして
使いまわすことはできないのでしょうか?
http://forums.belution.com/ja/vc/000/317/87s.shtml
>■ マルチポストについて
>
> マルチポストとは、「同じ内容の質問などを複数の掲示板等に書き込むこと」です。
>この行為は
> マナー違反として嫌われています。マルチポストは行わないで下さい。
>
>
> 誤ってマルチポストしてしまった場合には、必ず全ての掲示板にどのように
> 解決したかを記述し、かつお礼を書き込んで下さい。
# マルチさんですか.....では簡単に。
> このダイアログAを違うクラスとして作成することはできないのでしょうか?
C++などで作成したダイアログ用のクラスなどを指しているとすれば、
リソース自身はクラスなど知りません。特定のC++クラスと関連付けられる
こともありませんから、いくらでも流用するクラスを作ることは可能です。
そういうクラスを書いてください。
> 基本的にリソースエディタでダイアログを作成したら違うタイプのクラスとして
> 使いまわすことはできないのでしょうか?
リソースを定義するリソースファイルも、クラスを定義するソースファイルも、
ただのテキストです。
テキストエディタで直接作成しようと、リソースエディタで作成しようと、
(一部のお呪いコメントを除いて)基本的には変わりません。
もしもリソースエディタが対応していないならテキストで編集すればいいだけです。
> もしもリソースエディタが対応していないならテキストで編集すればいいだけです。
# 読み返したら誤解されそうな文章だ....orz
この場合、リソースファイルの方を編集する必要はないと思います。
IDEがソースを生成してくれないなら、自分でソースを実装すればいいということです。
本来はそれが普通。IDEのサポートはあくまで典型的な操作の省力用にすぎません。
クラスAを手作業でコピーしたクラスBを作るだけ。
リソースエディタでメンバ変数やハンドラを生成できるのは
クラスAになってしまうな。
もう一方は手作業で行えばいい。不便だけど。
IDEのウィザード系の機能は便利ですけれど、あくまでも開発の手間を減らす程度のもの
です。
これに頼り切ってしまってリソースとソースファイルの関係とかメッセージの手動追加の
方法とかを知らないのでは問題ありです。
そういう部分は知識として知った上で省力化のためにウィザードを使うようにするべきです。
その為にはC++言語の知識とかMFCに関する知識、Windowsに関する知識が必要になると思
います。