You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.9 KiB
88 lines
2.9 KiB
|
7 months ago
|
|
||
|
|
// DlgProxy.cpp: 구현 파일
|
||
|
|
//
|
||
|
|
|
||
|
|
#include "pch.h"
|
||
|
|
#include "framework.h"
|
||
|
|
#include "IncSourceTestDlg.h"
|
||
|
|
#include "DlgProxy.h"
|
||
|
|
#include "IncSourceTestDlgDlg.h"
|
||
|
|
|
||
|
|
#ifdef _DEBUG
|
||
|
|
#define new DEBUG_NEW
|
||
|
|
#endif
|
||
|
|
|
||
|
|
|
||
|
|
// CIncSourceTestDlgDlgAutoProxy
|
||
|
|
|
||
|
|
IMPLEMENT_DYNCREATE(CIncSourceTestDlgDlgAutoProxy, CCmdTarget)
|
||
|
|
|
||
|
|
CIncSourceTestDlgDlgAutoProxy::CIncSourceTestDlgDlgAutoProxy()
|
||
|
|
{
|
||
|
|
EnableAutomation();
|
||
|
|
|
||
|
|
// 자동화 개체가 활성화되어 있는 동안 계속 애플리케이션을 실행하기 위해
|
||
|
|
// 생성자에서 AfxOleLockApp를 호출합니다.
|
||
|
|
AfxOleLockApp();
|
||
|
|
|
||
|
|
// 애플리케이션의 주 창 포인터를 통해 대화 상자에 대한
|
||
|
|
// 액세스를 가져옵니다. 프록시의 내부 포인터를 설정하여
|
||
|
|
// 대화 상자를 가리키고 대화 상자의 후방 포인터를 이 프록시로
|
||
|
|
// 설정합니다.
|
||
|
|
ASSERT_VALID(AfxGetApp()->m_pMainWnd);
|
||
|
|
if (AfxGetApp()->m_pMainWnd)
|
||
|
|
{
|
||
|
|
ASSERT_KINDOF(CIncSourceTestDlgDlg, AfxGetApp()->m_pMainWnd);
|
||
|
|
if (AfxGetApp()->m_pMainWnd->IsKindOf(RUNTIME_CLASS(CIncSourceTestDlgDlg)))
|
||
|
|
{
|
||
|
|
m_pDialog = reinterpret_cast<CIncSourceTestDlgDlg*>(AfxGetApp()->m_pMainWnd);
|
||
|
|
m_pDialog->m_pAutoProxy = this;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
CIncSourceTestDlgDlgAutoProxy::~CIncSourceTestDlgDlgAutoProxy()
|
||
|
|
{
|
||
|
|
// 모든 개체가 OLE 자동화로 만들어졌을 때 애플리케이션을 종료하기 위해
|
||
|
|
// 소멸자가 AfxOleUnlockApp를 호출합니다.
|
||
|
|
// 이러한 호출로 주 대화 상자가 삭제될 수 있습니다.
|
||
|
|
if (m_pDialog != nullptr)
|
||
|
|
m_pDialog->m_pAutoProxy = nullptr;
|
||
|
|
AfxOleUnlockApp();
|
||
|
|
}
|
||
|
|
|
||
|
|
void CIncSourceTestDlgDlgAutoProxy::OnFinalRelease()
|
||
|
|
{
|
||
|
|
// 자동화 개체에 대한 마지막 참조가 해제되면
|
||
|
|
// OnFinalRelease가 호출됩니다. 기본 클래스에서 자동으로 개체를 삭제합니다.
|
||
|
|
// 기본 클래스를 호출하기 전에 개체에 필요한 추가 정리 작업을
|
||
|
|
// 추가하세요.
|
||
|
|
|
||
|
|
CCmdTarget::OnFinalRelease();
|
||
|
|
}
|
||
|
|
|
||
|
|
BEGIN_MESSAGE_MAP(CIncSourceTestDlgDlgAutoProxy, CCmdTarget)
|
||
|
|
END_MESSAGE_MAP()
|
||
|
|
|
||
|
|
BEGIN_DISPATCH_MAP(CIncSourceTestDlgDlgAutoProxy, CCmdTarget)
|
||
|
|
END_DISPATCH_MAP()
|
||
|
|
|
||
|
|
// 참고: IID_IIncSourceTestDlg에 대한 지원을 추가하여
|
||
|
|
// VBA에서 형식 안전 바인딩을 지원합니다.
|
||
|
|
// 이 IID는 .IDL 파일에 있는 dispinterface의 GUID와 일치해야 합니다.
|
||
|
|
|
||
|
|
// {2ef56b3a-ca68-4764-8fdd-5d19ec609144}
|
||
|
|
static const IID IID_IIncSourceTestDlg =
|
||
|
|
{0x2ef56b3a,0xca68,0x4764,{0x8f,0xdd,0x5d,0x19,0xec,0x60,0x91,0x44}};
|
||
|
|
|
||
|
|
BEGIN_INTERFACE_MAP(CIncSourceTestDlgDlgAutoProxy, CCmdTarget)
|
||
|
|
INTERFACE_PART(CIncSourceTestDlgDlgAutoProxy, IID_IIncSourceTestDlg, Dispatch)
|
||
|
|
END_INTERFACE_MAP()
|
||
|
|
|
||
|
|
// IMPLEMENT_OLECREATE2 매크로가 이 프로젝트의 pch.h에 정의됩니다.
|
||
|
|
// {485ee25e-0171-42b5-8cf0-7883ae87945e}
|
||
|
|
IMPLEMENT_OLECREATE2(CIncSourceTestDlgDlgAutoProxy, "IncSourceTestDlg.Application", 0x485ee25e,0x0171,0x42b5,0x8c,0xf0,0x78,0x83,0xae,0x87,0x94,0x5e)
|
||
|
|
|
||
|
|
|
||
|
|
// CIncSourceTestDlgDlgAutoProxy 메시지 처리기
|