// [!output APP_IMPL] : アプリケーションのクラス動作を定義します。 // #include "stdafx.h" #include "[!output APP_HEADER]" #include "[!output DIALOG_HEADER]" #ifdef _DEBUG #define new DEBUG_NEW #endif // [!output APP_CLASS] BEGIN_MESSAGE_MAP([!output APP_CLASS], [!output APP_BASE_CLASS]) ON_COMMAND(ID_HELP, &CWinApp::OnHelp) END_MESSAGE_MAP() // [!output APP_CLASS] コンストラクション [!output APP_CLASS]::[!output APP_CLASS]() { [!if CONTEXT_HELP && HELPSTYLE_HTML] EnableHtmlHelp(); [!endif] // TODO: この位置に構築用コードを追加してください。 // ここに InitInstance 中の重要な初期化処理をすべて記述してください。 } // 唯一の [!output APP_CLASS] オブジェクトです。 [!output APP_CLASS] theApp; [!if AUTOMATION] const GUID CDECL BASED_CODE _tlid = [!output LIBID_STATIC_CONST_GUID_FORMAT]; const WORD _wVerMajor = 1; const WORD _wVerMinor = 0; [!endif] // [!output APP_CLASS] 初期化 BOOL [!output APP_CLASS]::InitInstance() { [!if MANIFEST] // アプリケーション マニフェストが visual スタイルを有効にするために、 // ComCtl32.dll Version 6 以降の使用を指定する場合は、 // Windows XP に InitCommonControlsEx() が必要です。さもなければ、ウィンドウ作成はすべて失敗します。 INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // アプリケーションで使用するすべてのコモン コントロール クラスを含めるには、 // これを設定します。 InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); [!endif] [!output APP_BASE_CLASS]::InitInstance(); [!if SOCKETS] if (!AfxSocketInit()) { AfxMessageBox(IDP_SOCKETS_INIT_FAILED); return FALSE; } [!endif] [!if AUTOMATION || ACCESSIBILITY] // OLE ライブラリを初期化します。 if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; } [!endif] [!if ACTIVEX_CONTROLS] AfxEnableControlContainer(); [!endif] // 標準初期化 // これらの機能を使わずに最終的な実行可能ファイルの // サイズを縮小したい場合は、以下から不要な初期化 // ルーチンを削除してください。 // 設定が格納されているレジストリ キーを変更します。 // TODO: 会社名または組織名などの適切な文字列に // この文字列を変更してください。 SetRegistryKey(_T("アプリケーション ウィザードで生成されたローカル アプリケーション")); [!if AUTOMATION] // オートメーションまたは reg/unreg スイッチのコマンド ラインを解析します。 CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); // アプリケーションが /Embedding または /Automation スイッチで起動されました。 // アプリケーションをオートメーション サーバーとして実行します。 if (cmdInfo.m_bRunEmbedded || cmdInfo.m_bRunAutomated) { // CoRegisterClassObject() 経由でクラス ファクトリを登録します。 COleTemplateServer::RegisterAll(); } // アプリケーションが /Unregserver または /Unregister スイッチで起動されました。 // レジストリからエントリを削除します。 else if (cmdInfo.m_nShellCommand == CCommandLineInfo::AppUnregister) { COleObjectFactory::UpdateRegistryAll(FALSE); AfxOleUnregisterTypeLib(_tlid, _wVerMajor, _wVerMinor); return FALSE; } // アプリケーションがスタンドアロンまたは/Register や /Regserver などのスイッチで起動されました。 // タイプ ライブラリを含むレジストリ エントリを更新します。 else { COleObjectFactory::UpdateRegistryAll(); AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid); if (cmdInfo.m_nShellCommand == CCommandLineInfo::AppRegister) return FALSE; } [!endif] [!output DIALOG_CLASS] dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: ダイアログが で消された時のコードを // 記述してください。 } else if (nResponse == IDCANCEL) { // TODO: ダイアログが <キャンセル> で消された時のコードを // 記述してください。 } // ダイアログは閉じられました。アプリケーションのメッセージ ポンプを開始しないで // アプリケーションを終了するために FALSE を返してください。 return FALSE; }