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

📄 mapx.cpp

📁 用第三方控键完成的GIS二次开发功能程序
💻 CPP
📖 第 1 页 / 共 5 页
字号:
#include "stdafx.h"
#include "mapx.h"

/////////////////////////////////////////////////////////////////////////////
// CMapX

IMPLEMENT_DYNCREATE(CMapX, CWnd)

/////////////////////////////////////////////////////////////////////////////
// CMapX properties

CString CMapX::GetVersion()
{
	CString result;
	GetProperty(0x2, VT_BSTR, (void*)&result);
	return result;
}

OLE_HANDLE CMapX::GetHWnd()
{
	OLE_HANDLE result;
	GetProperty(DISPID_HWND, VT_I4, (void*)&result);
	return result;
}

CMapXAnnotations CMapX::GetAnnotations()
{
	LPDISPATCH result;
	GetProperty(0x3, VT_DISPATCH, (void*)&result);
	return CMapXAnnotations(result);
}

CMapXLayers CMapX::GetLayers()
{
	LPDISPATCH result;
	GetProperty(0x5, VT_DISPATCH, (void*)&result);
	return CMapXLayers(result);
}

BOOL CMapX::GetAutoRedraw()
{
	BOOL result;
	GetProperty(0x6, VT_BOOL, (void*)&result);
	return result;
}

void CMapX::SetAutoRedraw(BOOL propVal)
{
	SetProperty(0x6, VT_BOOL, propVal);
}

double CMapX::GetZoom()
{
	double result;
	GetProperty(0x7, VT_R8, (void*)&result);
	return result;
}

void CMapX::SetZoom(double propVal)
{
	SetProperty(0x7, VT_R8, propVal);
}

double CMapX::GetCenterX()
{
	double result;
	GetProperty(0x8, VT_R8, (void*)&result);
	return result;
}

void CMapX::SetCenterX(double propVal)
{
	SetProperty(0x8, VT_R8, propVal);
}

double CMapX::GetCenterY()
{
	double result;
	GetProperty(0x9, VT_R8, (void*)&result);
	return result;
}

void CMapX::SetCenterY(double propVal)
{
	SetProperty(0x9, VT_R8, propVal);
}

CString CMapX::GetGeoSet()
{
	CString result;
	GetProperty(0xa, VT_BSTR, (void*)&result);
	return result;
}

void CMapX::SetGeoSet(LPCTSTR propVal)
{
	SetProperty(0xa, VT_BSTR, propVal);
}

double CMapX::GetGeoSetWidth()
{
	double result;
	GetProperty(0xb, VT_R8, (void*)&result);
	return result;
}

double CMapX::GetMapPaperHeight()
{
	double result;
	GetProperty(0xc, VT_R8, (void*)&result);
	return result;
}

double CMapX::GetMapPaperWidth()
{
	double result;
	GetProperty(0xd, VT_R8, (void*)&result);
	return result;
}

short CMapX::GetMaxSearchTime()
{
	short result;
	GetProperty(0xe, VT_I2, (void*)&result);
	return result;
}

void CMapX::SetMaxSearchTime(short propVal)
{
	SetProperty(0xe, VT_I2, propVal);
}

long CMapX::GetPaperUnit()
{
	long result;
	GetProperty(0xf, VT_I4, (void*)&result);
	return result;
}

void CMapX::SetPaperUnit(long propVal)
{
	SetProperty(0xf, VT_I4, propVal);
}

BOOL CMapX::GetPreferCompactLegends()
{
	BOOL result;
	GetProperty(0x10, VT_BOOL, (void*)&result);
	return result;
}

void CMapX::SetPreferCompactLegends(BOOL propVal)
{
	SetProperty(0x10, VT_BOOL, propVal);
}

CMapXStyle CMapX::GetDefaultStyle()
{
	LPDISPATCH result;
	GetProperty(0x11, VT_DISPATCH, (void*)&result);
	return CMapXStyle(result);
}

void CMapX::SetDefaultStyle(LPDISPATCH propVal)
{
	SetProperty(0x11, VT_DISPATCH, propVal);
}

CString CMapX::GetGeoDictionary()
{
	CString result;
	GetProperty(0x12, VT_BSTR, (void*)&result);
	return result;
}

void CMapX::SetGeoDictionary(LPCTSTR propVal)
{
	SetProperty(0x12, VT_BSTR, propVal);
}

long CMapX::GetDataSetTheme()
{
	long result;
	GetProperty(0x13, VT_I4, (void*)&result);
	return result;
}

void CMapX::SetDataSetTheme(long propVal)
{
	SetProperty(0x13, VT_I4, propVal);
}

long CMapX::GetCurrentTool()
{
	long result;
	GetProperty(0x14, VT_I4, (void*)&result);
	return result;
}

void CMapX::SetCurrentTool(long propVal)
{
	SetProperty(0x14, VT_I4, propVal);
}

long CMapX::GetMousePointer()
{
	long result;
	GetProperty(0x15, VT_I4, (void*)&result);
	return result;
}

void CMapX::SetMousePointer(long propVal)
{
	SetProperty(0x15, VT_I4, propVal);
}

CMapXDatasets CMapX::GetDatasets()
{
	LPDISPATCH result;
	GetProperty(0x16, VT_DISPATCH, (void*)&result);
	return CMapXDatasets(result);
}

CMapXTitle CMapX::GetTitle()
{
	LPDISPATCH result;
	GetProperty(0x17, VT_DISPATCH, (void*)&result);
	return CMapXTitle(result);
}

CString CMapX::GetTitleText()
{
	CString result;
	GetProperty(0x18, VT_BSTR, (void*)&result);
	return result;
}

void CMapX::SetTitleText(LPCTSTR propVal)
{
	SetProperty(0x18, VT_BSTR, propVal);
}

long CMapX::GetMapUnit()
{
	long result;
	GetProperty(0x19, VT_I4, (void*)&result);
	return result;
}

void CMapX::SetMapUnit(long propVal)
{
	SetProperty(0x19, VT_I4, propVal);
}

double CMapX::GetRotation()
{
	double result;
	GetProperty(0x1a, VT_R8, (void*)&result);
	return result;
}

void CMapX::SetRotation(double propVal)
{
	SetProperty(0x1a, VT_R8, propVal);
}

CMapXGeosets CMapX::GetGeosets()
{
	LPDISPATCH result;
	GetProperty(0x1b, VT_DISPATCH, (void*)&result);
	return CMapXGeosets(result);
}

long CMapX::GetAreaUnit()
{
	long result;
	GetProperty(0x1c, VT_I4, (void*)&result);
	return result;
}

void CMapX::SetAreaUnit(long propVal)
{
	SetProperty(0x1c, VT_I4, propVal);
}

CMapXRectangle CMapX::GetBounds()
{
	LPDISPATCH result;
	GetProperty(0x1d, VT_DISPATCH, (void*)&result);
	return CMapXRectangle(result);
}

void CMapX::SetBounds(LPDISPATCH propVal)
{
	SetProperty(0x1d, VT_DISPATCH, propVal);
}

CMapXCoordSys CMapX::GetDisplayCoordSys()
{
	LPDISPATCH result;
	GetProperty(0x1e, VT_DISPATCH, (void*)&result);
	return CMapXCoordSys(result);
}

void CMapX::SetDisplayCoordSys(LPDISPATCH propVal)
{
	SetProperty(0x1e, VT_DISPATCH, propVal);
}

CMapXCoordSys CMapX::GetNumericCoordSys()
{
	LPDISPATCH result;
	GetProperty(0x1f, VT_DISPATCH, (void*)&result);
	return CMapXCoordSys(result);
}

void CMapX::SetNumericCoordSys(LPDISPATCH propVal)
{
	SetProperty(0x1f, VT_DISPATCH, propVal);
}

BOOL CMapX::GetExportSelection()
{
	BOOL result;
	GetProperty(0x20, VT_BOOL, (void*)&result);
	return result;
}

void CMapX::SetExportSelection(BOOL propVal)
{
	SetProperty(0x20, VT_BOOL, propVal);
}

CMapXStyle CMapX::GetSelectionStyle()
{
	LPDISPATCH result;
	GetProperty(0x21, VT_DISPATCH, (void*)&result);
	return CMapXStyle(result);
}

void CMapX::SetSelectionStyle(LPDISPATCH propVal)
{
	SetProperty(0x21, VT_DISPATCH, propVal);
}

CMapXFeatureFactory CMapX::GetFeatureFactory()
{
	LPDISPATCH result;
	GetProperty(0x31, VT_DISPATCH, (void*)&result);
	return CMapXFeatureFactory(result);
}

long CMapX::GetDefaultConversionResolution()
{
	long result;
	GetProperty(0x32, VT_I4, (void*)&result);
	return result;
}

void CMapX::SetDefaultConversionResolution(long propVal)
{
	SetProperty(0x32, VT_I4, propVal);
}

long CMapX::GetBackColor()
{
	long result;
	GetProperty(DISPID_BACKCOLOR, VT_I4, (void*)&result);
	return result;
}

void CMapX::SetBackColor(long propVal)
{
	SetProperty(DISPID_BACKCOLOR, VT_I4, propVal);
}

long CMapX::GetMousewheelSupport()
{
	long result;
	GetProperty(0x33, VT_I4, (void*)&result);
	return result;
}

void CMapX::SetMousewheelSupport(long propVal)
{
	SetProperty(0x33, VT_I4, propVal);
}

BOOL CMapX::GetMatchNumericFields()
{
	BOOL result;
	GetProperty(0x34, VT_BOOL, (void*)&result);
	return result;
}

void CMapX::SetMatchNumericFields(BOOL propVal)
{
	SetProperty(0x34, VT_BOOL, propVal);
}
	
double CMapX::GetMapScreenWidth()
{
	double result;
	GetProperty(0x35, VT_R8, (void*)&result);
	return result;
}

double CMapX::GetMapScreenHeight()
{
	double result;
	GetProperty(0x36, VT_R8, (void*)&result);
	return result;
}

long CMapX::GetRedrawInterval()
{
 	long result;
	GetProperty(0x37, VT_I4, &result);
	return result;
}

void CMapX::SetRedrawInterval(long l)
{
	SetProperty(0x37, VT_I4, l);
}

CString CMapX::GetSearchPath()
{
	CString result;
	GetProperty(0x38, VT_BSTR, (void*)&result);
	return result;
}

void CMapX::SetSearchPath(LPCTSTR propVal)
{
	SetProperty(0x38, VT_BSTR, propVal);
}

short CMapX::GetMatchThreshold()
{
 	short result;
	GetProperty(0x39, VT_I2, &result);
	return result;
}

void CMapX::SetMatchThreshold(short s)
{
	SetProperty(0x39, VT_I2, s);
}

BOOL CMapX::GetWaitCursorEnabled()
{
 	BOOL result;
	GetProperty(0x3a, VT_BOOL, &result);
	return result;
}

void CMapX::SetWaitCursorEnabled(BOOL b)
{
	SetProperty(0x3a, VT_BOOL, b);
}

BOOL CMapX::GetPanAnimationLayer()
{
 	BOOL result;
	GetProperty(0x3c, VT_BOOL, &result);
	return result;
}

void CMapX::SetPanAnimationLayer(BOOL b)
{
	SetProperty(0x3c, VT_BOOL, b);
}

long CMapX::GetInfotipPopupDelay()
{
	long result;
	GetProperty(0x3d, VT_I4, (void*)&result);
	return result;
}

void CMapX::SetInfotipPopupDelay(long propVal)
{
	SetProperty(0x3d, VT_I4, propVal);
}

CString CMapX::GetMouseIcon()
{
	CString result;
	GetProperty(0x3e, VT_BSTR, (void*)&result);
	return result;
}

void CMapX::SetMouseIcon(LPCTSTR propVal)
{
	SetProperty(0x3e, VT_BSTR, propVal);
}

BOOL CMapX::GetInfotipSupport()
{
 	BOOL result;
	GetProperty(0x3f, VT_BOOL, &result);
	return result;
}

void CMapX::SetInfotipSupport(BOOL b)
{
	SetProperty(0x3f, VT_BOOL, b);
}

/////////////////////////////////////////////////////////////////////////////
// CMapX operations

void CMapX::ConvertCoord(float* ScreenX, float* ScreenY, double* MapX, double* MapY, short Direction)
{
	static BYTE parms[] =
		VTS_PR4 VTS_PR4 VTS_PR8 VTS_PR8 VTS_I2;
	InvokeHelper(0x22, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 ScreenX, ScreenY, MapX, MapY, Direction);
}

void CMapX::ZoomTo(double Zoom, double X, double Y)
{
	static BYTE parms[] =
		VTS_R8 VTS_R8 VTS_R8;
	InvokeHelper(0x23, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Zoom, X, Y);
}

void CMapX::CreateCustomTool(
	short ToolNumber, 
	short Type, 
	const VARIANT& Cursor, 
	const VARIANT& ShiftCursor, 
	const VARIANT& CtrlCursor, 
	const VARIANT& bInfoTips)
{
	static BYTE parms[] =
		VTS_I2 VTS_I2 VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
	InvokeHelper(0x24, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 ToolNumber, Type, &Cursor, &CtrlCursor, &ShiftCursor, &bInfoTips);
}

double CMapX::Distance(double X1, double Y1, double X2, double Y2)
{
	double result;
	static BYTE parms[] =
		VTS_R8 VTS_R8 VTS_R8 VTS_R8;
	InvokeHelper(0x25, DISPATCH_METHOD, VT_R8, (void*)&result, parms,
		X1, Y1, X2, Y2);
	return result;
}

void CMapX::Refresh()
{
	InvokeHelper(DISPID_REFRESH, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

void CMapX::PrintMap(long hDC, long X, long Y, long W, long H)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x26, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 hDC, X, Y, W, H);
}

void CMapX::ExportMap(LPCTSTR Destination, short Format, const VARIANT& Width, const VARIANT& Height)
{
	static BYTE parms[] =
		VTS_BSTR VTS_I2 VTS_VARIANT VTS_VARIANT;
	InvokeHelper(0x27, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Destination, Format, &Width, &Height);
}

void CMapX::PropertyPage()
{
	InvokeHelper(0x28, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

void CMapX::ConvertCoordV(VARIANT* ScreenX, VARIANT* ScreenY, VARIANT* MapX, VARIANT* MapY, short Direction)
{
	static BYTE parms[] =
		VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_I2;
	InvokeHelper(0x29, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 ScreenX, ScreenY, MapX, MapY, Direction);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -