home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 July / VPR0107B.BIN / DRIVER / CANOPUS / MVR32 / mvr32.exe / data1.cab / Development_Kit / Vc / Samples / Multi / Multi.cpp < prev    next >
C/C++ Source or Header  |  2001-02-09  |  4KB  |  153 lines

  1. // Multi.cpp : アプリケーション用クラスの機能定義を行います。
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "Multi.h"
  6.  
  7. #include "MainFrm.h"
  8. #include "ChildFrm.h"
  9. #include "MultiDoc.h"
  10. #include "MultiView.h"
  11.  
  12. #ifdef _DEBUG
  13. #define new DEBUG_NEW
  14. #undef THIS_FILE
  15. static char THIS_FILE[] = __FILE__;
  16. #endif
  17.  
  18. /////////////////////////////////////////////////////////////////////////////
  19. // CMultiApp
  20.  
  21. BEGIN_MESSAGE_MAP(CMultiApp, CWinApp)
  22.     //{{AFX_MSG_MAP(CMultiApp)
  23.     ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
  24.         // メモ - ClassWizard はこの位置にマッピング用のマクロを追加または削除します。
  25.         //        この位置に生成されるコードを編集しないでください。
  26.     //}}AFX_MSG_MAP
  27.     // 標準のファイル基本ドキュメント コマンド
  28.     ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
  29.     ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
  30. END_MESSAGE_MAP()
  31.  
  32. /////////////////////////////////////////////////////////////////////////////
  33. // CMultiApp クラスの構築
  34.  
  35. CMultiApp::CMultiApp()
  36. {
  37.     // TODO: この位置に構築用コードを追加してください。
  38.     // ここに InitInstance 中の重要な初期化処理をすべて記述してください。
  39. }
  40.  
  41. /////////////////////////////////////////////////////////////////////////////
  42. // 唯一の CMultiApp オブジェクト
  43.  
  44. CMultiApp theApp;
  45.  
  46. /////////////////////////////////////////////////////////////////////////////
  47. // CMultiApp クラスの初期化
  48.  
  49. BOOL CMultiApp::InitInstance()
  50. {
  51.     AfxEnableControlContainer();
  52.  
  53.     // 標準的な初期化処理
  54.     // もしこれらの機能を使用せず、実行ファイルのサイズを小さく
  55.     // したければ以下の特定の初期化ルーチンの中から不必要なもの
  56.     // を削除してください。
  57.  
  58.     // 設定が保存される下のレジストリ キーを変更します。
  59.     // TODO: この文字列を、会社名または所属など適切なものに
  60.     // 変更してください。
  61.     SetRegistryKey(_T("Local AppWizard-Generated Applications"));
  62.  
  63.     LoadStdProfileSettings();  // 標準の INI ファイルのオプションをロードします (MRU を含む)
  64.  
  65.     // アプリケーション用のドキュメント テンプレートを登録します。ドキュメント テンプレート
  66.     //  はドキュメント、フレーム ウィンドウとビューを結合するために機能します。
  67.  
  68.     CMultiDocTemplate* pDocTemplate;
  69.     pDocTemplate = new CMultiDocTemplate(
  70.         IDR_MULTITYPE,
  71.         RUNTIME_CLASS(CMultiDoc),
  72.         RUNTIME_CLASS(CChildFrame), // カスタム MDI 子フレーム
  73.         RUNTIME_CLASS(CMultiView));
  74.     AddDocTemplate(pDocTemplate);
  75.  
  76.     // メイン MDI フレーム ウィンドウを作成
  77.     CMainFrame* pMainFrame = new CMainFrame;
  78.     if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
  79.         return FALSE;
  80.     m_pMainWnd = pMainFrame;
  81.  
  82.     // DDE、file open など標準のシェル コマンドのコマンドラインを解析します。
  83.     CCommandLineInfo cmdInfo;
  84.     ParseCommandLine(cmdInfo);
  85.  
  86.     // コマンドラインでディスパッチ コマンドを指定します。
  87.     if (!ProcessShellCommand(cmdInfo))
  88.         return FALSE;
  89.  
  90.     // メイン ウィンドウが初期化されたので、表示と更新を行います。
  91.     pMainFrame->ShowWindow(m_nCmdShow);
  92.     pMainFrame->UpdateWindow();
  93.  
  94.     return TRUE;
  95. }
  96.  
  97.  
  98. /////////////////////////////////////////////////////////////////////////////
  99. // アプリケーションのバージョン情報で使われる CAboutDlg ダイアログ
  100.  
  101. class CAboutDlg : public CDialog
  102. {
  103. public:
  104.     CAboutDlg();
  105.  
  106. // ダイアログ データ
  107.     //{{AFX_DATA(CAboutDlg)
  108.     enum { IDD = IDD_ABOUTBOX };
  109.     //}}AFX_DATA
  110.  
  111.     // ClassWizard 仮想関数のオーバーライドを生成します。
  112.     //{{AFX_VIRTUAL(CAboutDlg)
  113.     protected:
  114.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV のサポート
  115.     //}}AFX_VIRTUAL
  116.  
  117. // インプリメンテーション
  118. protected:
  119.     //{{AFX_MSG(CAboutDlg)
  120.         // メッセージ ハンドラはありません。
  121.     //}}AFX_MSG
  122.     DECLARE_MESSAGE_MAP()
  123. };
  124.  
  125. CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
  126. {
  127.     //{{AFX_DATA_INIT(CAboutDlg)
  128.     //}}AFX_DATA_INIT
  129. }
  130.  
  131. void CAboutDlg::DoDataExchange(CDataExchange* pDX)
  132. {
  133.     CDialog::DoDataExchange(pDX);
  134.     //{{AFX_DATA_MAP(CAboutDlg)
  135.     //}}AFX_DATA_MAP
  136. }
  137.  
  138. BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
  139.     //{{AFX_MSG_MAP(CAboutDlg)
  140.         // メッセージ ハンドラはありません。
  141.     //}}AFX_MSG_MAP
  142. END_MESSAGE_MAP()
  143.  
  144. // ダイアログを実行するためのアプリケーション コマンド
  145. void CMultiApp::OnAppAbout()
  146. {
  147.     CAboutDlg aboutDlg;
  148.     aboutDlg.DoModal();
  149. }
  150.  
  151. /////////////////////////////////////////////////////////////////////////////
  152. // CMultiApp メッセージ ハンドラ
  153.