home *** CD-ROM | disk | FTP | other *** search
- // OLEShell.cpp : Defines the class behaviors for the application.
- //
-
- #include "stdafx.h"
- #include "OLEShell.h"
- #include "OLEShellDlg.h"
-
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
-
- /////////////////////////////////////////////////////////////////////////////
- // COLEShellApp
-
- BEGIN_MESSAGE_MAP(COLEShellApp, CWinApp)
- //{{AFX_MSG_MAP(COLEShellApp)
- // 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()
-
- /////////////////////////////////////////////////////////////////////////////
- // COLEShellApp construction
-
- COLEShellApp::COLEShellApp()
- {
- // CG: The following line was added by the OLE Automation component.
- EnableAutomation();
- AfxOleLockApp();
- // TODO: add construction code here,
- // Place all significant initialization in InitInstance
- }
-
- COLEShellApp::~COLEShellApp()
- {
- // CG: The following line was added by the OLE Automation component.
- AfxOleUnlockApp();
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // The one and only COLEShellApp object
-
- COLEShellApp theApp;
-
- /////////////////////////////////////////////////////////////////////////////
- // COLEShellApp initialization
-
- BOOL COLEShellApp::InitInstance()
- {
- // Initialize OLE libraries
- if (!AfxOleInit())
- {
- AfxMessageBox(IDP_OLE_INIT_FAILED);
- return FALSE;
- }
-
- // 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();
-
- // Application was run with /Embedding or /Automation. Don't show the
- // main window in this case.
- return TRUE;
- }
-
- // 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();
-
- COLEShellDlg 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;
- }
-
- BEGIN_DISPATCH_MAP(COLEShellApp, CWinApp)
- //{{AFX_DISPATCH_MAP(COLEShellApp)
- // NOTE - the ClassWizard will add and remove mapping macros here.
- //}}AFX_DISPATCH_MAP
- END_DISPATCH_MAP()
-
-
-
- // Note: we add support for IID_IOLEShellApp to support typesafe binding
- // from VBA. This IID must match the GUID that is attached to the
- // dispinterface in the .ODL file.
-
- // {F137DAC7-B031-11D0-8F38-444553540000}
- static const IID IID_IOLEShellApp =
- { 0xf137dac7, 0xb031, 0x11d0, { 0x8f, 0x38, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0 } };
-
- BEGIN_INTERFACE_MAP(COLEShellApp, CWinApp)
- INTERFACE_PART(COLEShellApp, IID_IOLEShellApp, Dispatch)
- END_INTERFACE_MAP()
-