はじめまして。りょうです。
MFCで以下の流れを実現したいです。
1. メニュー画面
2. メイン画面
・メニューから必要に応じた画面を表示
・メニューへ戻る事ができる。
・戻るときメインを消す。
を実現するにはどのような
手続きが良いでしょうか?
※メニューダイアログはApp::Instance内または、
MainFrameのOnCreate内で起動させることは理解しています。
尚、画面切り替え方法は、
以下を参考にやってみたのですが、
http://wg-web.ics.teikyo-u.ac.jp/usage/VC/vwchange.html
メニュー画面でクリック時に、
void CStartDlg::OnBnClickedButton1()
{
// TODO: ここにコントロール通知ハンドラ コードを追加します。
CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();
if (!pFrame==NULL) {
pFrame->ShowWindow(SW_SHOW);
pFrame->OnViewChangeTo(1);
}
CDialog::OnOK();
}
としてみたのですが、MainFrameのOnViewChangeTo関数の、
GetActiveView()がNULLでエラーになってしまいます。
やり方が悪いと思いますが、何か良い案はありますでしょうか?
※メニュー画面はMainFrameのOnCreate内でDoModalしています。
http://forums.belution.com/ja/vc/000/359/37.shtml
>発言される前に「使用上の注意」を必ずお読み下さい。
>■ マルチポストについて
> マルチポストとは、「同じ内容の質問などを複数の掲示板等に書き込むこと」です。
>この行為は
> マナー違反として嫌われています。マルチポストは行わないで下さい。
>
>
> 誤ってマルチポストしてしまった場合には、必ず全ての掲示板にどのように
> 解決したかを記述し、かつお礼を書き込んで下さい。
>
> ※よく、マルチポストを指摘され、「***の掲示板にレスしておきました。」とか
> 「今後、気をつけます」とか書き込まれているのですが、管理人としては悲しいで
> す。
> この掲示板だけを見た人は、どのように解決したかわからないからです。
少なくとも投稿した全ての掲示板へのフォローを行う事を望みます。
マルチポストが嫌われるのは、数打ちゃ当たる方式で投稿しておいて
後のフォローは特定の掲示板のみになる事が圧倒的に多いからです。
但し、マルチポストというだけで嫌う人がいるのも事実なので
しない方が良いと思います。
ご助言、ありがとうございます。
別掲示板でアドバイスしていただいた方ですね。
マルチポストによる軽率な行動、
すみませんでした。
本件、別掲示板でPAITO様のリプライにより、
メインフレーム側でメニュー画面を実現する形で
検討中です。(プロトは作成してみました。)
尚、上記エラーになる部分ですが、
OnCreateで呼び出さずに、Instanceの最後で
呼び出すようにしたら解決しました。
今後ともよろしくお願いします。
解決なの?
一応、解決した時は解決にチェックを入れてください。
すっきりしないので。
あと、既に別の方が別掲示板へのリンクは張られていますけれど、
一応決着が付いたところにリンクを張って解決にした方が親切だと思いますよ。