• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SDIアプリ内からもう一つSDIを作成する方法)

SDIアプリ内からもう一つSDIを作成する方法

このQ&Aのポイント
  • SDIアプリ内で新しいSDIを作成する方法はありますか?
  • Exe側のツールバーがおかしくなる問題が発生しています。
  • 参考になるサイトや書籍、アドバイスを求めています。

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

  • ベストアンサー
  • FAY
  • ベストアンサー率49% (95/193)
回答No.1

ID、ほんとうにユニークになっていますか。 デフォルトの実装では省略されている CMFCToolBarCreate()で渡されるIDを確認してみましたか? 下記参考URLのryoさんの回答のようにしてみるとどうなるでしょうか。

参考URL:
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+201003/10030014.txt
shouko0918
質問者

お礼

FAYさん、ありがとうございます。 参照先にあったようにm_wndToolBar.CreateExの引数にツールバーのリソースIDをセットしましたが、現象は変わらずです。 その後、分かりやすくしようと、DLL側のツールバーのアイコンサイズを16x16から32x32に変更してみました。 すると、新しく生成したSDIのツールバーだけがおかしいのならばリソース関連だろうと思うのですが、親SDIの方のツールバーやメニューなどのPaneサイズまで32x32になるのです。 子SDIウィンドウを生成した後で、親ウィンドウのツールバー全体に影響を与えています。 また、親のSDIをCFrameWndクラスで作り直したところ、問題なく表示されることが確認できました。 つまり、今回の現象は、親、子ともにCFrameWndExのフレームを持つSDIでCMFCToolBarを使ったときに起きています。 なにか、やるべき事、設定すべき事が他にあるのでしょうか?

関連するQ&A

専門家に質問してみよう