トップ回答者
スクリーン及び親フォーム内のサイズを知りたい

質問
回答
-
yo1 さんからの引用 MDI親フォームのリソースを色々いじりたい
ダイアログバーを作って、親フレームにくっつけるってのは駄目ですか ?
とりあえず、ダイアログバーを調べてみてください。
yo1 さんからの引用 また、MDI子フォームも色々コントロールを配置して色々いじりたいのです。
・リストを表示する子フォームを作成したり。
・グラフを表示する子フォームを作成したり。
リソースエディターで色々できる、子フォームを何種類か作り表示させたいのです。
この辺りは参考になりませんか ?
http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_MDI1.html
CMultiDocTemplateについて調べてください。yo1 さんからの引用 ・この子フォームにDataGridViewを使いたいのに、コントロールリストが選択不可状態なのはどうしてか?
どうしてか ? と言われれば、フォームのコントロールだから。 でしょう。
MFCは.NETのフォームではありません。
MFCに、VCのコントロールとか.NETのコントロールを乗せようと思うと、一筋縄では行かなかった気がします。
ActiveXコントロールなら簡単に乗せられますので、代替案を考えては ?
すべての返信
-
yo1 さんからの引用 プログラム起動時に、現在のモニター解像度に合わせ、シクリーンの最大サイズ
「スクリーン」ですよね?
yo1 さんからの引用 取得したいのですが、GetSystemMetrics(SM_CXFULLSCREEN);では、コンパイルエラーになってしまいます。
再現コードも、エラーの内容もなしで、一体、どうやって答えろと?
ところで、単に、親フォームを最大化するだけでは、ダメなんですか?
yo1 さんからの引用 また、親フォームの中にいる子フォームも親フォームの内側のエリアの位置サイズを取得したいのです。
親フォームのオブジェクトに対して、CWnd::GetClientRect() かな?
-
yo1 さんからの引用 MFCでMDIプログラムが作成できればいいのですが・・・・・
失礼。MFCだと、思い込んでいました。
# MFCで、できるんですけどね。
放置スレ(↓)を再開すれば、みなさん、助けてくれると思うんですが。
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=2325137&SiteID=7
-
はい、ご指摘ありがとうございます。
ご指摘のスレを再開しました。
MFCで、できるのですか!それは凄いです。
有難うございます。
それは、コンテナを使う方法なのでしょうか?
1つコンテナフォーム(親フォーム)を作成して、
以下のコードを記述してコンパイルすると、エラーになってしまいます。
DataMain^ mDataMain = gcnew DataMain();
mDataMain->MdiParent = this;
mDataMain->Show();
どうか、MFCでMDIフォーム親子関係の作成方法を教えてください。宜しくお願い致します。
-
yo1 さんからの引用 ご指摘のスレを再開しました。
とりあえず、カキコしました。全然、アドバイスになっていなくて、申しわけありませんが。
yo1 さんからの引用 MFCで、できるのですか!それは凄いです。
有難うございます。
それは、コンテナを使う方法なのでしょうか?
1つコンテナフォーム(親フォーム)を作成して、
以下のコードを記述してコンパイルすると、エラーになってしまいます。
DataMain^ mDataMain = gcnew DataMain();
mDataMain->MdiParent = this;
mDataMain->Show();これは、今書いているコード(C++/CLI & Windowsフォーム)のことで、MFCとは関係ない話ですよね?
yo1 さんからの引用 どうか、MFCでMDIフォーム親子関係の作成方法を教えてください。
宜しくお願い致します。
-
返信有難うございます。
(1)
現状を整理しますと、(C++/CLI & Windowsフォーム)でのMDIフォーム(親子関係)は解決しました。
ですが、何かを追加する度に、*.hファイルにコードが自動生成され、*.cppは空白のままなのです。
これで、いいのか不安でコードを書いてます。
DataMain^ mDataMain = gcnew DataMain();
mDataMain->MdiParent = this;
mDataMain->Show();
これは、問題なくコンパイルを通りました。(2)
そして、これとは別にMFCで、上記同様の機能を実装できれば、その方が楽な気がしています。
シングルドキュメントフォーム内に
DataMain^ mDataMain = gcnew DataMain();
mDataMain->MdiParent = this;
mDataMain->Show();
を記述したら、コンパイルが通りませんでした。^がダメだとコンパイラが言ってました。
gcnewもダメだとコンパイラが言ってました。
MdiParentはプロパティ事態が無いとコンパイラが言ってました。
Show();はメソッド事態が無いとコンパイラが言ってました。
以上が現状です。
別に、(C++/CLI & Windowsフォーム)でもいいのでしょうか?
MFCの方が適切であれば、その実装方法を教えて頂けませんでしょうか?
宜しくお願い致します。
-
yo1 さんからの引用 (2)
そして、これとは別にMFCで、上記同様の機能を実装できれば、その方が楽な気がしています。
シングルドキュメントフォーム内に
DataMain^ mDataMain = gcnew DataMain();
mDataMain->MdiParent = this;
mDataMain->Show();
を記述したら、コンパイルが通りませんでした。^がダメだとコンパイラが言ってました。
gcnewもダメだとコンパイラが言ってました。
MdiParentはプロパティ事態が無いとコンパイラが言ってました。
Show();はメソッド事態が無いとコンパイラが言ってました。
確認ですが、上記のコードを、MFC用のプロジェクトに記述して、コンパイルしようとしているのですよね?
上記のコードは、C++/CLI用です。
C++/CLIと、MFCとは、全く別の技術です。
ごちゃ混ぜにできないことはないのかもしれませんが、私は、「絶対、やりたくありません。」
yo1 さんからの引用 別に、(C++/CLI & Windowsフォーム)でもいいのでしょうか?
MFCの方が適切であれば、その実装方法を教えて頂けませんでしょうか?
どちらがよいかは、好みと慣れ(とチャレンジ精神)の問題だと、思っています。
-
yo1 さんからの引用
原点に返って、質問なのですが、では、どうやってMFCでMDIプログラムを作れるのでしょうか?宜しくお願い致します。
それが、
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=2325137&SiteID=7
では ?
-
返信有難う御座います。今なんとなくわかりました。
私が悩んでいたのは
新規プロジェクト → MFCアプリケーション → マルチドキュメントを選択
これがMFCのMDIアプリケーションなのはわかっています。
ただ、これだと、勝手にMDI子フォームが作成され、勝手に表示され、勝手に何枚もフォームが開きますよね。
私はMDIアプリケーションでやりたい事は、MDI親フォーム内にいくつかコントロールを配置したいのです。
MDI親フォームのリソースを色々いじりたいのです。でも、リソースのリストには親フォームのリソースがないですよね。
また、MDI子フォームも色々コントロールを配置して色々いじりたいのです。
・リストを表示する子フォームを作成したり。
・グラフを表示する子フォームを作成したり。
リソースエディターで色々できる、子フォームを何種類か作り表示させたいのです。
現状は、MFCクラスウィザードで基本クラスをCFormViewにすることで、1個だけはリソースをいじれる
フォームを取得できた所までは出来ています。
あとは、
・他のMDI子フォームをどう、クリエートすればいいのか?
・そのMDI子フォームをどう、表示すればいいのか?
・この子フォームにDataGridViewを使いたいのに、コントロールリストが選択不可状態なのはどうしてか?
どうか、お知恵をお願い致します。
-
yo1 さんからの引用 MDI親フォームのリソースを色々いじりたい
ダイアログバーを作って、親フレームにくっつけるってのは駄目ですか ?
とりあえず、ダイアログバーを調べてみてください。
yo1 さんからの引用 また、MDI子フォームも色々コントロールを配置して色々いじりたいのです。
・リストを表示する子フォームを作成したり。
・グラフを表示する子フォームを作成したり。
リソースエディターで色々できる、子フォームを何種類か作り表示させたいのです。
この辺りは参考になりませんか ?
http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_MDI1.html
CMultiDocTemplateについて調べてください。yo1 さんからの引用 ・この子フォームにDataGridViewを使いたいのに、コントロールリストが選択不可状態なのはどうしてか?
どうしてか ? と言われれば、フォームのコントロールだから。 でしょう。
MFCは.NETのフォームではありません。
MFCに、VCのコントロールとか.NETのコントロールを乗せようと思うと、一筋縄では行かなかった気がします。
ActiveXコントロールなら簡単に乗せられますので、代替案を考えては ?