⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 identify2.cpp

📁 在vc环境下
💻 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 + -