📄 dlgproxy.cpp
字号:
// DlgProxy.cpp : Implementierungsdatei
//
#include "stdafx.h"
#include "MultiLang.h"
#include "DlgProxy.h"
#include "MultiLangDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMultiLangDlgAutoProxy
IMPLEMENT_DYNCREATE(CMultiLangDlgAutoProxy, CCmdTarget)
CMultiLangDlgAutoProxy::CMultiLangDlgAutoProxy()
{
EnableAutomation();
// Um die Ausf黨rung der Anwendung fortzusetzen, solange ein Automatisierungsobjekt
// aktiv ist, ruft der Konstruktor AfxOleLockApp auf.
AfxOleLockApp();
// Greifen Sie 黚er den Hauptfensterzeiger der Anwendung auf das
// Dialogfeld zu. Setzen Sie den internen Zeiger des Proxy
// auf das Dialogfeld und den Gegenzeiger (Back Pointer) des Dialogfelds
// auf diesen Proxy.
ASSERT (AfxGetApp()->m_pMainWnd != NULL);
ASSERT_VALID (AfxGetApp()->m_pMainWnd);
ASSERT_KINDOF(CMultiLangDlg, AfxGetApp()->m_pMainWnd);
m_pDialog = (CMultiLangDlg*) AfxGetApp()->m_pMainWnd;
m_pDialog->m_pAutoProxy = this;
}
CMultiLangDlgAutoProxy::~CMultiLangDlgAutoProxy()
{
// Um die Anwendung zu beenden, sobald alle mit Automatisierung erstellten
// Objekte freigegeben sind, ruft der Destruktor AfxOleUnlockApp auf.
// Dies zerst鰎t unter anderem das Hauptdialogfeld.
if (m_pDialog != NULL)
m_pDialog->m_pAutoProxy = NULL;
AfxOleUnlockApp();
}
void CMultiLangDlgAutoProxy::OnFinalRelease()
{
// Wird der letzte Verweis auf ein Automatisierungsobjekt freigegeben,
// wird OnFinalRelease aufgerufen. Die Basisklasse l鰏cht das Objekt
// automatisch. F黦en Sie zus鋞zlichen Bereinigungscode f黵 Ihr Objekt
// hinzu, bevor Sie die Basisklasse aufrufen.
CCmdTarget::OnFinalRelease();
}
BEGIN_MESSAGE_MAP(CMultiLangDlgAutoProxy, CCmdTarget)
//{{AFX_MSG_MAP(CMultiLangDlgAutoProxy)
// HINWEIS - Hier werden Mapping-Makros vom Klassen-Assistenten eingef黦t und entfernt.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BEGIN_DISPATCH_MAP(CMultiLangDlgAutoProxy, CCmdTarget)
//{{AFX_DISPATCH_MAP(CMultiLangDlgAutoProxy)
// HINWEIS - Hier werden Mapping-Makros vom Klassen-Assistenten eingef黦t und entfernt.
//}}AFX_DISPATCH_MAP
END_DISPATCH_MAP()
// Hinweis: Wir stellen Unterst黷zung f黵 IID_IMultiLang zur Verf黦ung, um typsicheres Binden
// von VBA zu unterst黷zen. Diese IID muss mit der GUID 黚ereinstimmen, die bei der
// Disp-Schnittstelle in der .ODL-Datei angegeben ist.
// {BC1116E2-1FD3-11D3-8C9A-0000E8748981}
static const IID IID_IMultiLang =
{ 0xbc1116e2, 0x1fd3, 0x11d3, { 0x8c, 0x9a, 0x0, 0x0, 0xe8, 0x74, 0x89, 0x81 } };
BEGIN_INTERFACE_MAP(CMultiLangDlgAutoProxy, CCmdTarget)
INTERFACE_PART(CMultiLangDlgAutoProxy, IID_IMultiLang, Dispatch)
END_INTERFACE_MAP()
// Das Makro IMPLEMENT_OLECREATE2 ist in der Datei StdAfx.h dieses Projekts definiert
// {BC1116E0-1FD3-11D3-8C9A-0000E8748981}
IMPLEMENT_OLECREATE2(CMultiLangDlgAutoProxy, "MultiLang.Application", 0xbc1116e0, 0x1fd3, 0x11d3, 0x8c, 0x9a, 0x0, 0x0, 0xe8, 0x74, 0x89, 0x81)
/////////////////////////////////////////////////////////////////////////////
// CMultiLangDlgAutoProxy Nachrichten-Handler
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -