いつもお世話になります。
現在、↓の環境下で開発中です。
アプリケーションソフトを作製したいのですが、わからないことが出てきたので質問させてください。
Windows XP Professional Version 2002 Service Pack2
Microsoft Visual Studio .NET 2003
MFC Application
これまで、ダイアログベースとシングルドキュメントでしか作製したことがなかったのですが、
次にやろうとすることはマルチドキュメント(たぶん)なのでちょっとパニクっています。。
【やりたいこと】
vc++アプリケーションのように、同一アプリケーション内で複数の別ダイアログを出力させたい。
「ソリューションエクスプローラ」「プロパティ」など。(←そもそもこれはMDIをつかっているのでしょうか??)
エクセル等は新規作成で複数ウインドゥ作成されますが、これは同じものがいくつも生成されていると思います。
今やりたいことは、まったく違った形式のダイアログを作成したいということです。
そのときに各ダイアログは唯一ひとつのものであり、「新規作成」等で複数作成したくはない。
要は、本当にvc++アプリケーションのように、いくつかの機能を備えたダイアログを
「同時に」「複数個」表示させておきたいということです。
ホームページ等、いろいろ調べてみたのですが、手がかりを得られなかったので、何かわかる方ご教授宜しくお願いいたします。
少し文章内の語句整理を・・・
vc++アプリケーション -> Visual Studio と読み替えていいですよね?
ダイアログ -> ダイアログもウィンドウの一つですが・・・「対話的」なもの(実行してよいか確認するような)ものをここでは意味してませんよね?全てウィンドウに読み替えていいですよね?(それともCFormViewを使ってペインを作成したいのでしょうか?)
MFCならまず「CSplitterWnd」で検索してみることをお勧めします。
「ウィンドウ」「分割」「MFC」で検索しても似たようなものは引っかかりますが・・・
回答、ご指摘ありがとうございます。
>vc++アプリケーション -> Visual Studio と読み替えていいですよね?
A.はい、読み替えてください。
>ダイアログ -> ダイアログもウィンドウの一つですが・・・「対話的」なもの(実行してよいか確認するような)ものをここでは意味してませんよね?全てウィンドウに読み替えていいですよね?
A.これは、「対話的」なものです。
ダイアログにボタンやコンボボックスのようなものを付けて、実装しようとかんがえております。
「CSplitterWnd」も調べてみます。
以上、ほかに何か気がつくところがあればご指摘ください。
宜しくお願いいたします。
単にいくつも同時に操作できるダイアログがほしいだけなら
モードレスダイアログを出せばいいだけだと思いますが、
それでは駄目なんでしょうか?
ドッキング可能なウインドウを作成したいという話なら
そっちのキーワードで検索してみる事をお勧めします。
確かどこかのホームページにそういう話題が出ていたように思いますが、
VisualStuioのIDEと同じ事をしようとするのでしたら
かなりめんどくさいのは覚悟しておかないといけなかったと思います。
もとい、
VisualStuioは、VisualStudioの間違いです。
自分で、
>vc++アプリケーション -> Visual Studio と読み替えていいですよね?
と聞いておきながらドッキングを考慮していませんでした。。。
(ヨシさんがそこまでしたいのかは不明ですが・・・)
ドッキングいらずで複数ダイアログがばらけてもいいならPATIOさんのおっしゃる通り、モードレスダイアログで十分ですね。
ドッキングいらずで複数ダイアログ(というかコントロールを貼り付けるためのフォーム)がばらけるのが困るならば、CSplitterWnd+CFormViewで良いかな思います。
要ドッキングとなると・・・手間ですね。
あとはヨシさんがどのような実装を望むか次第・・・
自己レスですが・・・「ウインドゥ内に」が必須なら、MDIになりますよね。
(モードレスダイアログだと外まで移動できる。CFromViewをダイアログの代わりに使用。一つしか起動しないのは自前で処理。)
これ以上はどこまでヨシさんが求めているのか答えを頂くまでは不明なのでひっこんでますね。
みなさん、ご指摘ありがとうございます。
ドッキングはなくてもいいと思っています。
また、「ウインドゥ内・・・」の件ですが、今のところ外まで移動しても問題ないと考えております。
ですので、PATIOさん、ふさんの意見の通り、モーダレスダイアログで作ってみようかと思います!
ただ、今からどう作るかというところを再検討していくのですが、
そこで「外まで移動させたくない」となるかもしれません。
そのときには、また質問させていただきますので、宜しくお願いします。
どうもありがとうございました。
ツイート | ![]() |