-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCameraApp.cpp
More file actions
111 lines (83 loc) · 3.02 KB
/
Copy pathCameraApp.cpp
File metadata and controls
111 lines (83 loc) · 3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
// CameraApp.cpp: define los comportamientos de las clases para la aplicación.
//
#include "pch.h"
#include "framework.h"
#include "CameraApp.h"
#include "CameraAppDlg.h"
#include <mfapi.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CCameraAppApp
BEGIN_MESSAGE_MAP(CCameraAppApp, CWinApp)
ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
END_MESSAGE_MAP()
// Construcción de CCameraAppApp
CCameraAppApp::CCameraAppApp()
{
// admite Administrador de reinicio
m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART;
// TODO: agregar aquí el código de construcción,
// Colocar toda la inicialización importante en InitInstance
}
// Único objeto CCameraAppApp
CCameraAppApp theApp;
// Inicialización de CCameraAppApp
BOOL CCameraAppApp::InitInstance()
{
// Windows XP requiere InitCommonControlsEx() si un manifiesto de
// aplicación especifica el uso de ComCtl32.dll versión 6 o posterior para habilitar
// estilos visuales. De lo contrario, se generará un error al crear ventanas.
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// Establecer para incluir todas las clases de control comunes que desee utilizar
// en la aplicación.
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
CWinApp::InitInstance();
// Initialize Media Foundation
HRESULT hr = MFStartup(MF_VERSION);
if (FAILED(hr)) {
AfxMessageBox(_T("MFStartup failed"));
return FALSE;
}
AfxEnableControlContainer();
// Crear el administrador de shell, en caso de que el cuadro de diálogo contenga
// alguna vista de árbol de shell o controles de vista de lista de shell.
CShellManager *pShellManager = new CShellManager;
// Activar el administrador visual "nativo de Windows" para habilitar temas en controles MFC
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));
// Inicialización estándar
SetRegistryKey(_T("CameraApp"));
CCameraAppDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: insertar aquí el código para controlar
// cuándo se descarta el cuadro de diálogo con Aceptar
}
else if (nResponse == IDCANCEL)
{
// TODO: insertar aquí el código para controlar
// cuándo se descarta el cuadro de diálogo con Cancelar
}
else if (nResponse == -1)
{
TRACE(traceAppMsg, 0, "Advertencia: la aplicación está finalizando porque hubo un error al crear el cuadro de diálogo.\n");
TRACE(traceAppMsg, 0, "Advertencia: si usa controles MFC en el cuadro de diálogo, no puede usar #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS.\n");
}
// Eliminar el administrador de shell creado anteriormente.
if (pShellManager != nullptr)
{
delete pShellManager;
}
#if !defined(_AFXDLL) && !defined(_AFX_NO_MFC_CONTROLS_IN_DIALOGS)
ControlBarCleanUp();
#endif
// Shut down Media Foundation
MFShutdown();
// Dado que el cuadro de diálogo se ha cerrado, devolver FALSE para salir
// de la aplicación en vez de iniciar el suministro de mensajes de dicha aplicación.
return FALSE;
}