// $impl_file$: 实现文件 // #include "pch.h" [!if PROJECT_NAME_HEADER] #include "$projectname$.h" [!endif] #include "$header_file$" [!if CCOLORDIALOG || CFONTDIALOG || CPAGESETUPDIALOG || CPRINTDIALOG] #ifndef _WIN32_WCE // Windows CE 不支持 $base_class$。 [!endif] // $class_name$ [!if CREATABLE] IMPLEMENT_DYNCREATE($class_name$, $base_class$) [!else] IMPLEMENT_DYNAMIC($class_name$, $base_class$) [!endif] [!if CCOLORDIALOG] $class_name$::$class_name$(COLORREF clrInit, DWORD dwFlags, CWnd* pParentWnd) : CColorDialog(clrInit, dwFlags, pParentWnd) [!else] [!if CFILEDIALOG] $class_name$::$class_name$(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName, DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) : CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd) [!else] [!if CFONTDIALOG] $class_name$::$class_name$(LPLOGFONT lplfInitial, DWORD dwFlags, CDC* pdcPrinter, CWnd* pParentWnd) : CFontDialog(lplfInitial, dwFlags, pdcPrinter, pParentWnd) [!else] [!if CPAGESETUPDIALOG] $class_name$::$class_name$(DWORD dwFlags /*= PSD_MARGINS | PSD_INWININIINTLMEASURE*/, CWnd* pParentWnd /*= nullptr*/) : CPageSetupDialog(dwFlags, pParentWnd) [!else] [!if CPRINTDIALOG] $class_name$::$class_name$(BOOL bPrintSetupOnly, DWORD dwFlags, CWnd* pParentWnd) : CPrintDialog(bPrintSetupOnly, dwFlags, pParentWnd) [!else] [!if CVSTOOLSLISTBOX] $class_name$::$class_name$(CMFCToolBarsToolsPropertyPage* pParent) : CVSToolsListBox(pParent) [!else] $class_name$::$class_name$() [!endif] [!endif] [!endif] [!endif] [!endif] [!endif] { [!if ACCESSIBILITY] #ifndef _WIN32_WCE EnableActiveAccessibility(); #endif [!endif] [!if AUTOMATION || CREATABLE] EnableAutomation(); [!endif] [!if CREATABLE] // 为了使应用程序在 OLE 自动化对象处于活动状态时保持 // 运行,构造函数调用 AfxOleLockApp。 AfxOleLockApp(); [!endif] } $class_name$::~$class_name$() { [!if CREATABLE] // 为了在用 OLE 自动化创建所有对象后终止应用程序, // 析构函数调用 AfxOleUnlockApp。 AfxOleUnlockApp(); [!endif] } [!if AUTOMATION || CREATABLE] void $class_name$::OnFinalRelease() { // 释放了对自动化对象的最后一个引用后,将调用 // OnFinalRelease。 基类将自动 // 删除该对象。 在调用该基类之前,请添加您的 // 对象所需的附加清理代码。 $base_class$::OnFinalRelease(); } [!endif] BEGIN_MESSAGE_MAP($class_name$, $base_class$) END_MESSAGE_MAP() [!if AUTOMATION || CREATABLE] BEGIN_DISPATCH_MAP($class_name$, $base_class$) END_DISPATCH_MAP() // 注意: 我们添加了对 IID_I$class_name_root$ 的支持来支持类型安全绑定 // 以支持来自 VBA 的类型安全绑定。 此 IID 必须同附加到 .IDL 文件中的 // 调度接口的 GUID 匹配。 // {$guid_dispiid$} static const IID IID_I$class_name_root$ = $guid_dispiid_staticconst$; BEGIN_INTERFACE_MAP($class_name$, $base_class$) INTERFACE_PART($class_name$, IID_I$class_name_root$, Dispatch) END_INTERFACE_MAP() [!endif] [!if CREATABLE] // {$guid_clsid$} IMPLEMENT_OLECREATE($class_name$, "$typeid$", $guid_clsid_olecreate$) [!endif] // $class_name$ 消息处理程序 [!if CCONTROLBAR] void $class_name$::OnUpdateCmdUI(CFrameWnd* /*pTarget*/, BOOL /*bDisableIfNoHndler*/) { } [!endif] [!if CCOLORDIALOG || CFONTDIALOG || CPAGESETUPDIALOG || CPRINTDIALOG] #endif // !_WIN32_WCE [!endif]