• 締切済み

VC++ 6.0 でのCMainFrameクラスの作り方を教えてくださ

VC++ 6.0 でのCMainFrameクラスの作り方を教えてください OSはWindows XPです。 MainFrame.cpp MainFraem.h ファイルはどちらもない状態です。 新規作成方法を教えてください。

みんなの回答

回答No.2

 既存のダイアログベースのアプリにMainFrameを追加して、メニューバー等を追加したいということですか?(オープニングというのはよくわかりませんが)  MainFrameというのはMDIアプリやSDIアプリでの一番メインになるウインドウであり、ダイアログベースのアプリではそのダイアログ自身がメインのウインドウなので、そのままダイアログベースのアプリとMainFrameを共存させることはできません。  そういう無理をせずに実現しようとすると、次の2つの方法ぐらいしか思い付きません。 (1)既存のダイアログベースのアプリにメニューバーを追加する  MainFrameのメニューの実体はメニューコントロールが張り付けられたウインドウ以外の何ものでもないので、同様の機能を持つメニューバーを自作してダイアログに配置すれば良いはずです。 (2)SDIアプリとして作り直し、ダイアログ部分は子ウインドウとしてView上のクライアント領域に貼り付ける  こちらはMainFrameをそのまま使えますが、既存部分のソフトを大きく作り直す必要があります。  

h-h12345
質問者

お礼

ありがとうございました m_ _m CMainFrameのクラスも MainFrame.cpp MainFrame.h も出来ることが出来ました。 今回の主旨は、メインフレームを作成し、 実行時のオープニング画面(**View.cpp)のファイルを利用し、 メニューバーのファイルにして、色々なDialog画面を選択出来て、 表示するオブジェクトを作るのが目的です。 成功方法は、 ClassView  Ahaクラス    |- クラス新規作成(N)       クラスの種類(T) MFC クラス        クラス名 CMainFrame        基本クラス    CFrameWhd        ダイアログID(D) なし を選択し、OK で CMainFrameクラス MainFrame.cpp MainFrame.h の基本が出来ました。 ダイアログべースではなく、今回のシステムの オープニング画面表示等のメインフレームに しようと思いました。 SDI,MDIの意味も少し、分かりました。 ありがとうございました。 又、アドバイスよろしくお願い致します。  

回答No.1

プロジェクトの新規作成時にMFCアプリケーションでMDIやSDIを指定したら自動的に作成されるはずだと思いますが…… ダイアログベースのアプリの場合は不要なので作成されません。

h-h12345
質問者

お礼

ありがとうございます。 ダイアログベースのアプリの場合は不要と言うことは、分かりました。 質問の仕方が間違っていました。 Ahaと言うフォルダ内に Aha.cpp Aha.h AhaDlg.cpp AhaDlg.h Aha.asp Aha.clw Aha.dsp Aha.dsw Aha.rc 等は作成されていて、実行してオープニングやメニューバーの ファイルを作成させる為の MainFrm.cpp MainFrm.h を作成して見たいと思っております。 プロジェクト(P) -> プロジェクト追加(A) - 新規作成(N)で ファイルの所は、C/C++ ヘッダーファイル , C++ソースファイル 等どれを選択? プロジェクトの所は、MFC AppWizard(exe)を選択? プロジェクト名(N) MainFrm.cpp でいいのでしょうか? 位置(C) は C:\AAA\Aha\ 現在のワークスペースに追加にチェック有り プラットフォームは Win32にチェックが有ります。 この手順であっているでしょうか? ご指導の程、よろしくお願いいたします。