📄 identify2.cpp
字号:
#include "StdAfx.h"
#include ".\identify2.h"
STDMETHODIMP CIdentify2::OnMouseDown(LONG Button, LONG Shift, LONG X, LONG Y)
{
// Update focus map to the place thats clicked on
CMapToolBase::MouseDown(X,Y);
IPointPtr cpStartPoint;
IActiveViewPtr cpActiveView;
GetFocusMapActiveView(&cpActiveView);
IIdentifyDialogPtr cpIdentifyDialog;
IIdentifyDialogPropsPtr cpIdentifyDialogProps;
HRESULT hr;
hr=cpIdentifyDialog.CreateInstance(CLSID_IdentifyDialog);
if (FAILED(hr)) return hr;
cpIdentifyDialogProps=cpIdentifyDialog;
IMapPtr cpMap;
m_hookHelper.get_FocusMap(&cpMap);
hr=cpIdentifyDialog->putref_Map(cpMap);
if (FAILED(hr)) return hr;
IScreenDisplayPtr cpScreenDisplay;
hr=cpActiveView->get_ScreenDisplay(&cpScreenDisplay);
hr=cpIdentifyDialog->putref_Display(cpScreenDisplay);
hr=cpIdentifyDialog->ClearLayers();
if (FAILED(hr)) return hr;
IEnumLayerPtr cpEnumLayer;
hr=cpIdentifyDialogProps->get_Layers(&cpEnumLayer);
if (FAILED(hr)) return hr;
cpEnumLayer->Reset();
ILayerPtr cpLayer;
hr=cpEnumLayer->Next(&cpLayer);
while (cpLayer)
{
cpIdentifyDialog->AddLayerIdentifyPoint(cpLayer,X,Y);
cpLayer=NULL;
hr=cpEnumLayer->Next(&cpLayer);
}
hr=cpIdentifyDialog->Show();
if (FAILED(hr)) return hr;
return S_OK;
}
STDMETHODIMP CIdentify2::OnMouseMove(LONG Button, LONG Shift, LONG X, LONG Y)
{
return S_OK;
}
STDMETHODIMP CIdentify2::OnMouseUp(LONG Button, LONG Shift, LONG X, LONG Y)
{
CMapToolBase::MouseUp();
return S_OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -