📄 hookhelper.cpp
字号:
// HookHelper.cpp: implementation of the CHookHelper class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "HookHelper.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CHookHelper::CHookHelper()
{
}
CHookHelper::~CHookHelper()
{
}
HRESULT CHookHelper::putref_Hook(IDispatch *hook)
{
m_cpHook = hook;
m_cpApp = hook;
m_cpMapControl = hook;
m_cpPageLayoutControl = hook;
return S_OK;
}
HRESULT CHookHelper::get_Hook(IDispatch **hook)
{
if (*hook == 0)
return E_POINTER;
*hook = m_cpHook;
if (*hook != 0)
(*hook)->AddRef();
return S_OK;
}
HRESULT CHookHelper::get_FocusMap(IMap **ppMap)
{
if (ppMap == 0)
return E_POINTER;
HRESULT hr = S_OK;
*ppMap = 0;
if (m_cpApp != 0)
{
IMxDocumentPtr cpMxDoc;
IDocumentPtr cpDoc;
m_cpApp->get_Document(&cpDoc);
cpMxDoc = cpDoc;
if (cpMxDoc)
hr = cpMxDoc->get_FocusMap(ppMap);
}
else if (m_cpMapControl != 0)
hr = m_cpMapControl->get_Map(ppMap);
else if (m_cpPageLayoutControl != 0)
{
IActiveViewPtr cpActiveView;
hr = m_cpPageLayoutControl->get_ActiveView(&cpActiveView);
if (SUCCEEDED(hr))
hr = cpActiveView->get_FocusMap(ppMap);
}
return hr;
}
HRESULT CHookHelper::get_ActiveView(IActiveView **ppActiveView)
{
if (ppActiveView == 0)
return E_POINTER;
HRESULT hr = S_OK;
*ppActiveView = 0;
if (m_cpApp != 0)
{
IMxDocumentPtr cpMxDoc;
IDocumentPtr cpDoc;
m_cpApp->get_Document(&cpDoc);
cpMxDoc = cpDoc;
if (cpMxDoc)
hr = cpMxDoc->get_ActiveView(ppActiveView);
}
if (m_cpMapControl != 0)
hr = m_cpMapControl->get_ActiveView(ppActiveView);
else if (m_cpPageLayoutControl != 0)
hr = m_cpPageLayoutControl->get_ActiveView(ppActiveView);
return hr;
}
HRESULT CHookHelper::get_hWnd(HWND *phWnd)
{
if (phWnd==0)
return E_POINTER;
HRESULT hr = S_OK;
*phWnd = 0;
if (m_cpApp != 0)
{
IMxDocumentPtr cpMxDoc;
IDocumentPtr cpDoc;
m_cpApp->get_Document(&cpDoc);
cpMxDoc = cpDoc;
IActiveViewPtr cpActiveView;
IScreenDisplayPtr cpScreenDisplay;
if (cpMxDoc)
hr = cpMxDoc->get_ActiveView(&cpActiveView);
if (SUCCEEDED(hr) && cpActiveView!=0)
hr = cpActiveView->get_ScreenDisplay(&cpScreenDisplay);
if (SUCCEEDED(hr) && cpScreenDisplay!=0)
hr = cpScreenDisplay->get_hWnd((OLE_HANDLE*) phWnd);
}
else if (m_cpMapControl != 0)
hr = m_cpMapControl->get_hWnd((long*) phWnd);
else if (m_cpPageLayoutControl != 0)
hr = m_cpPageLayoutControl->get_hWnd((long*) phWnd);
return hr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -