中国象棋控件 v2.0.13
载入中...
搜索中...
未找到
ChineseChessMFC.cpp
1
2// ChineseChessMFC.cpp: 定义应用程序的类行为。
3//
4
5#include "stdafx.h"
6#include "ChineseChessMFC.h"
7#include "ChineseChessMFCDlg.h"
8
9#ifdef _DEBUG
10#define new DEBUG_NEW
11#endif
12
13extern bool ChineseChessViewNewDynLinkLibrary();
14
15// CChineseChessMFCApp
16
17BEGIN_MESSAGE_MAP(CChineseChessMFCApp, CWinApp)
18 ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
19END_MESSAGE_MAP()
20
21
22// CChineseChessMFCApp 构造
23
25{
26 // 支持重新启动管理器
27 m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART;
28
29 // TODO: 在此处添加构造代码,
30 // 将所有重要的初始化放置在 InitInstance 中
31}
32
33
34// 唯一的 CChineseChessMFCApp 对象
35
37
38
39// CChineseChessMFCApp 初始化
40
41BOOL CChineseChessMFCApp::InitInstance()
42{
43 // 如果一个运行在 Windows XP 上的应用程序清单指定要
44 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
45 //则需要 InitCommonControlsEx()。 否则,将无法创建窗口。
46 INITCOMMONCONTROLSEX InitCtrls;
47 InitCtrls.dwSize = sizeof(InitCtrls);
48 // 将它设置为包括所有要在应用程序中使用的
49 // 公共控件类。
50 InitCtrls.dwICC = ICC_WIN95_CLASSES;
51 InitCommonControlsEx(&InitCtrls);
52
53 CWinApp::InitInstance();
54
55 if (!AfxSocketInit())
56 {
57 AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
58 return FALSE;
59 }
60
61 ChineseChessViewNewDynLinkLibrary();
62
63 // 创建 shell 管理器,以防对话框包含
64 // 任何 shell 树视图控件或 shell 列表视图控件。
65 CShellManager *pShellManager = new CShellManager;
66
67 // 激活“Windows Native”视觉管理器,以便在 MFC 控件中启用主题
68 CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));
69
70 // 标准初始化
71 // 如果未使用这些功能并希望减小
72 // 最终可执行文件的大小,则应移除下列
73 // 不需要的特定初始化例程
74 // 更改用于存储设置的注册表项
75 // TODO: 应适当修改该字符串,
76 // 例如修改为公司或组织名
77 SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
78
80 m_pMainWnd = &dlg;
81 INT_PTR nResponse = dlg.DoModal();
82 if (nResponse == IDOK)
83 {
84 // TODO: 在此放置处理何时用
85 // “确定”来关闭对话框的代码
86 }
87 else if (nResponse == IDCANCEL)
88 {
89 // TODO: 在此放置处理何时用
90 // “取消”来关闭对话框的代码
91 }
92 else if (nResponse == -1)
93 {
94 TRACE(traceAppMsg, 0, "警告: 对话框创建失败,应用程序将意外终止。\n");
95 TRACE(traceAppMsg, 0, "警告: 如果您在对话框上使用 MFC 控件,则无法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS。\n");
96 }
97
98 // 删除上面创建的 shell 管理器。
99 if (pShellManager != nullptr)
100 {
101 delete pShellManager;
102 }
103
104#if !defined(_AFXDLL) && !defined(_AFX_NO_MFC_CONTROLS_IN_DIALOGS)
105 ControlBarCleanUp();
106#endif
107
108 // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
109 // 而不是启动应用程序的消息泵。
110 return FALSE;
111}