1 | //////////////////////////////////////////////////////////// |
---|
2 | // MfcWindowlessVideoRenderer01.cpp : Defines the class behaviors for the application. |
---|
3 | // |
---|
4 | // Copyright (C) Alax.Info, 2006-2008 |
---|
5 | // http://alax.info |
---|
6 | // |
---|
7 | // A permission to use the source code is granted as long as reference to |
---|
8 | // source website http://alax.info is retained. |
---|
9 | // |
---|
10 | // Created by Roman Ryltsov roman@alax.info |
---|
11 | // |
---|
12 | // $Id: MfcWindowlessVideoRenderer01.cpp 14 2008-11-19 09:23:16Z alax $ |
---|
13 | |
---|
14 | #include "stdafx.h" |
---|
15 | #include "MfcWindowlessVideoRenderer01.h" |
---|
16 | #include "MainDialog.h" |
---|
17 | #include <initguid.h> |
---|
18 | #include "MfcWindowlessVideoRenderer01_i.c" |
---|
19 | |
---|
20 | #ifdef _DEBUG |
---|
21 | #define new DEBUG_NEW |
---|
22 | #endif |
---|
23 | |
---|
24 | |
---|
25 | // CMyApplication |
---|
26 | |
---|
27 | |
---|
28 | class CMfcWindowlessVideoRenderer01Module : |
---|
29 | public CAtlMfcModule |
---|
30 | { |
---|
31 | public: |
---|
32 | DECLARE_LIBID(LIBID_MfcWindowlessVideoRenderer01Lib); |
---|
33 | DECLARE_REGISTRY_APPID_RESOURCEID(IDR_MFCWINDOWLESSVIDEORENDERER01, "{D7FFBC02-C09F-4708-9CEE-35F4CBB51D72}");}; |
---|
34 | |
---|
35 | CMfcWindowlessVideoRenderer01Module _AtlModule; |
---|
36 | |
---|
37 | BEGIN_MESSAGE_MAP(CMyApplication, CWinAppEx) |
---|
38 | ON_COMMAND(ID_HELP, &CWinApp::OnHelp) |
---|
39 | END_MESSAGE_MAP() |
---|
40 | |
---|
41 | |
---|
42 | // CMyApplication construction |
---|
43 | |
---|
44 | CMyApplication::CMyApplication() |
---|
45 | { |
---|
46 | // TODO: add construction code here, |
---|
47 | // Place all significant initialization in InitInstance |
---|
48 | } |
---|
49 | |
---|
50 | |
---|
51 | // The one and only CMyApplication object |
---|
52 | |
---|
53 | CMyApplication theApp; |
---|
54 | |
---|
55 | |
---|
56 | // CMyApplication initialization |
---|
57 | |
---|
58 | BOOL CMyApplication::InitInstance() |
---|
59 | { |
---|
60 | AfxOleInit(); |
---|
61 | // Parse command line for standard shell commands, DDE, file open |
---|
62 | CCommandLineInfo cmdInfo; |
---|
63 | ParseCommandLine(cmdInfo); |
---|
64 | #if !defined(_WIN32_WCE) || defined(_CE_DCOM) |
---|
65 | // Register class factories via CoRegisterClassObject(). |
---|
66 | if (FAILED(_AtlModule.RegisterClassObjects(CLSCTX_LOCAL_SERVER, REGCLS_MULTIPLEUSE))) |
---|
67 | return FALSE; |
---|
68 | #endif // !defined(_WIN32_WCE) || defined(_CE_DCOM) |
---|
69 | // App was launched with /Embedding or /Automation switch. |
---|
70 | // Run app as automation server. |
---|
71 | if (cmdInfo.m_bRunEmbedded || cmdInfo.m_bRunAutomated) |
---|
72 | { |
---|
73 | // Don't show the main window |
---|
74 | return TRUE; |
---|
75 | } |
---|
76 | // App was launched with /Unregserver or /Unregister switch. |
---|
77 | if (cmdInfo.m_nShellCommand == CCommandLineInfo::AppUnregister) |
---|
78 | { |
---|
79 | _AtlModule.UpdateRegistryAppId(FALSE); |
---|
80 | _AtlModule.UnregisterServer(TRUE); |
---|
81 | return FALSE; |
---|
82 | } |
---|
83 | // App was launched with /Register or /Regserver switch. |
---|
84 | if (cmdInfo.m_nShellCommand == CCommandLineInfo::AppRegister) |
---|
85 | { |
---|
86 | _AtlModule.UpdateRegistryAppId(TRUE); |
---|
87 | _AtlModule.RegisterServer(TRUE); |
---|
88 | return FALSE; |
---|
89 | } |
---|
90 | // InitCommonControlsEx() is required on Windows XP if an application |
---|
91 | // manifest specifies use of ComCtl32.dll version 6 or later to enable |
---|
92 | // visual styles. Otherwise, any window creation will fail. |
---|
93 | INITCOMMONCONTROLSEX InitCtrls; |
---|
94 | InitCtrls.dwSize = sizeof(InitCtrls); |
---|
95 | // Set this to include all the common control classes you want to use |
---|
96 | // in your application. |
---|
97 | InitCtrls.dwICC = ICC_WIN95_CLASSES; |
---|
98 | InitCommonControlsEx(&InitCtrls); |
---|
99 | |
---|
100 | CWinAppEx::InitInstance(); |
---|
101 | |
---|
102 | // Standard initialization |
---|
103 | // If you are not using these features and wish to reduce the size |
---|
104 | // of your final executable, you should remove from the following |
---|
105 | // the specific initialization routines you do not need |
---|
106 | // Change the registry key under which our settings are stored |
---|
107 | // TODO: You should modify this string to be something appropriate |
---|
108 | // such as the name of your company or organization |
---|
109 | SetRegistryKey(_T("Local AppWizard-Generated Applications")); |
---|
110 | |
---|
111 | CMainDialog dlg; |
---|
112 | m_pMainWnd = &dlg; |
---|
113 | INT_PTR nResponse = dlg.DoModal(); |
---|
114 | if (nResponse == IDOK) |
---|
115 | { |
---|
116 | // TODO: Place code here to handle when the dialog is |
---|
117 | // dismissed with OK |
---|
118 | } |
---|
119 | else if (nResponse == IDCANCEL) |
---|
120 | { |
---|
121 | // TODO: Place code here to handle when the dialog is |
---|
122 | // dismissed with Cancel |
---|
123 | } |
---|
124 | |
---|
125 | // Since the dialog has been closed, return FALSE so that we exit the |
---|
126 | // application, rather than start the application's message pump. |
---|
127 | return FALSE; |
---|
128 | } |
---|
129 | |
---|
130 | BOOL CMyApplication::ExitInstance(void) |
---|
131 | { |
---|
132 | #if !defined(_WIN32_WCE) || defined(_CE_DCOM) |
---|
133 | _AtlModule.RevokeClassObjects(); |
---|
134 | #endif |
---|
135 | return CWinApp::ExitInstance(); |
---|
136 | } |
---|