// MFCclient.cpp : Defines the class behaviors for the application. // #include "stdafx.h" #include "MFCclient.h" #include "MFCclientDlg.h" #include #include "MFCclient_i.c" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CMFCclientApp BEGIN_MESSAGE_MAP(CMFCclientApp, CWinApp) //{{AFX_MSG_MAP(CMFCclientApp) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG ON_COMMAND(ID_HELP, CWinApp::OnHelp) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMFCclientApp construction CMFCclientApp::CMFCclientApp() { // TODO: add construction code here, // Place all significant initialization in InitInstance } ///////////////////////////////////////////////////////////////////////////// // The one and only CMFCclientApp object CMFCclientApp theApp; // ///////////////////////////////////////////////////////////////////////////// // CMFCclientApp initialization BOOL CMFCclientApp::InitInstance() { // Initialize OLE libraries if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; } if (!InitATL()) return FALSE; AfxEnableControlContainer(); // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need. #ifdef _AFXDLL Enable3dControls(); // Call this when using MFC in a shared DLL #else Enable3dControlsStatic(); // Call this when linking to MFC statically #endif // Parse the command line to see if launched as OLE server if (RunEmbedded() || RunAutomated()) { // Register all OLE server (factories) as running. This enables the // OLE libraries to create objects from other applications. COleTemplateServer::RegisterAll(); _Module.RegisterClassObjects(CLSCTX_LOCAL_SERVER, REGCLS_MULTIPLEUSE); } else { // When a server application is launched stand-alone, it is a good idea // to update the system registry in case it has been damaged. COleObjectFactory::UpdateRegistryAll(); } // CMFCclientDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: Place code here to handle when the dialog is // dismissed with OK } else if (nResponse == IDCANCEL) { // TODO: Place code here to handle when the dialog is // dismissed with Cancel } // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; } CMFCclientModule _Module; BEGIN_OBJECT_MAP(ObjectMap) END_OBJECT_MAP() LONG CMFCclientModule::Unlock() { AfxOleUnlockApp(); return 0; } LONG CMFCclientModule::Lock() { AfxOleLockApp(); return 1; } int CMFCclientApp::ExitInstance() { if (m_bATLInited) { _Module.RevokeClassObjects(); _Module.Term(); } return CWinApp::ExitInstance(); } // BOOL CMFCclientApp::InitATL() { m_bATLInited = TRUE; _Module.Init(ObjectMap, AfxGetInstanceHandle()); _Module.dwThreadID = GetCurrentThreadId(); return TRUE; }