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

📄 mapx.cpp

📁 用第三方控键完成的GIS二次开发功能程序
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	GetProperty(0x20, VT_BOOL, (void*)&result);
	return result;
}

void CMapXThemeProperties::SetRoundRanges(BOOL propVal)
{
	SetProperty(0x20, VT_BOOL, propVal);
}

double CMapXThemeProperties::GetRoundBy()
{
	double result;
	GetProperty(0x21, VT_R8, (void*)&result);
	return result;
}

void CMapXThemeProperties::SetRoundBy(double propVal)
{
	SetProperty(0x21, VT_R8, propVal);
}

short CMapXThemeProperties::GetColorMethod()
{
	short result;
	GetProperty(0x22, VT_I2, (void*)&result);
	return result;
}

void CMapXThemeProperties::SetColorMethod(short propVal)
{
	SetProperty(0x22, VT_I2, propVal);
}

BOOL CMapXThemeProperties::GetInflectRanges()
{
	BOOL result;
	GetProperty(0x23, VT_BOOL, (void*)&result);
	return result;
}

void CMapXThemeProperties::SetInflectRanges(BOOL propVal)
{
	SetProperty(0x23, VT_BOOL, propVal);
}

short CMapXThemeProperties::GetInflectionRange()
{
	short result;
	GetProperty(0x24, VT_I2, (void*)&result);
	return result;
}

void CMapXThemeProperties::SetInflectionRange(short propVal)
{
	SetProperty(0x24, VT_I2, propVal);
}

unsigned long CMapXThemeProperties::GetInflectionColor()
{
	unsigned long result;
	GetProperty(0x25, VT_I4, (void*)&result);
	return result;
}

void CMapXThemeProperties::SetInflectionColor(unsigned long propVal)
{
	SetProperty(0x25, VT_I4, propVal);
}

BOOL CMapXThemeProperties::GetBarFramed()
{
	BOOL result;
	GetProperty(0x26, VT_BOOL, (void*)&result);
	return result;
}

void CMapXThemeProperties::SetBarFramed(BOOL propVal)
{
	SetProperty(0x26, VT_BOOL, propVal);
}

/////////////////////////////////////////////////////////////////////////////
// CMapXThemeProperties operations


/////////////////////////////////////////////////////////////////////////////
// CMapXSelection properties

long CMapXSelection::GetCount()
{
	long result;
  DISPID dispid;
  HRESULT hr;
  CString cx = "Count";
  BSTR szMember = cx.AllocSysString();
  hr = m_lpDispatch->GetIDsOfNames(IID_NULL, (OLECHAR FAR*FAR*)&szMember, 1,
    0, &dispid);
	::SysFreeString(szMember);
	GetProperty(dispid, VT_I4, (void*)&result); 
	return result;
}

/////////////////////////////////////////////////////////////////////////////
// CMapXSelection operations

void CMapXSelection::SelectByRegion(LPDISPATCH Layer, const VARIANT& FeatureID, short Flag)
{
	static BYTE parms[] =
		VTS_DISPATCH VTS_VARIANT VTS_I2;
	InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Layer, &FeatureID, Flag);
}

void CMapXSelection::ClearSelection()
{
	InvokeHelper(0x2, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

void CMapXSelection::SelectByPoint(double X, double Y, short Flag)
{
	static BYTE parms[] =
		VTS_R8 VTS_R8 VTS_I2;
	InvokeHelper(0x3, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y, Flag);
}

void CMapXSelection::SelectByRadius(double X, double Y, double radius, short Flag)
{
	static BYTE parms[] =
		VTS_R8 VTS_R8 VTS_R8 VTS_I2;
	InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y, radius, Flag);
}

void CMapXSelection::SelectByRectangle(double X1, double Y1, double X2, double Y2, short Flag)
{
	static BYTE parms[] =
		VTS_R8 VTS_R8 VTS_R8 VTS_R8 VTS_I2;
	InvokeHelper(0x5, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X1, Y1, X2, Y2, Flag);
}

BOOL CMapXSelection::SelectAll(short Flag)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I2;
	InvokeHelper(0x6, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		Flag);
	return result;
}

void CMapXSelection::SelectByID(const VARIANT& FeatureID, short Flag)
{
	static BYTE parms[] =	
		VTS_VARIANT VTS_I2;
	InvokeHelper(0x7, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 &FeatureID, Flag);
}



CMapXFeature CMapXSelection::Item(const VARIANT& Index)
{
	LPDISPATCH result;
  DISPID dispid;
  HRESULT hr;
  CString cx = "Item";
  BSTR szMember = cx.AllocSysString();
  hr = m_lpDispatch->GetIDsOfNames(IID_NULL, (OLECHAR FAR*FAR*)&szMember, 1,
    0, &dispid);
	::SysFreeString(szMember);
	static BYTE parms[] =
		VTS_VARIANT;
	InvokeHelper(dispid, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		&Index);
	return CMapXFeature(result);
}

CMapXFeatures CMapXSelection::Clone()
{
	LPDISPATCH result;
  DISPID dispid;
  HRESULT hr;
  CString cx = "Clone";
  BSTR szMember = cx.AllocSysString();
  hr = m_lpDispatch->GetIDsOfNames(IID_NULL, (OLECHAR FAR*FAR*)&szMember, 1,
    0, &dispid);
	::SysFreeString(szMember);
	InvokeHelper(dispid, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, NULL);
	return CMapXFeatures(result);
}

void CMapXSelection::Add(LPDISPATCH Source)
{
	static BYTE parms[] =
		VTS_DISPATCH;
  DISPID dispid;
  HRESULT hr;
  CString cx = "Add";
  BSTR szMember = cx.AllocSysString();
  hr = m_lpDispatch->GetIDsOfNames(IID_NULL, (OLECHAR FAR*FAR*)&szMember, 1,
    0, &dispid);
	::SysFreeString(szMember);
	InvokeHelper(dispid, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Source);
}

void CMapXSelection::Common(LPDISPATCH Source)
{
	static BYTE parms[] =
		VTS_DISPATCH;
  DISPID dispid;
  HRESULT hr;
  CString cx = "Common";
  BSTR szMember = cx.AllocSysString();
  hr = m_lpDispatch->GetIDsOfNames(IID_NULL, (OLECHAR FAR*FAR*)&szMember, 1,
    0, &dispid);
	::SysFreeString(szMember);
	InvokeHelper(dispid, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Source);
}

void CMapXSelection::Remove(const VARIANT& Source)
{
	static BYTE parms[] =
		VTS_VARIANT;
  DISPID dispid;
  HRESULT hr;
  CString cx = "Remove";
  BSTR szMember = cx.AllocSysString();
  hr = m_lpDispatch->GetIDsOfNames(IID_NULL, (OLECHAR FAR*FAR*)&szMember, 1,
    0, &dispid);
	::SysFreeString(szMember);
	InvokeHelper(dispid, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 &Source);
}

void CMapXSelection::Replace(LPDISPATCH Source)
{
	static BYTE parms[] =
		VTS_DISPATCH;
  DISPID dispid;
  HRESULT hr;
  CString cx = "Replace";
  BSTR szMember = cx.AllocSysString();
  hr = m_lpDispatch->GetIDsOfNames(IID_NULL, (OLECHAR FAR*FAR*)&szMember, 1,
    0, &dispid);
	::SysFreeString(szMember);
	InvokeHelper(dispid, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Source);
}

//
/////////////////////////////////////////////////////////////////////////////
// CMapXFeature properties

long CMapXFeature::GetFeatureID()
{
	long result;
	GetProperty(0x1, VT_I4, (void*)&result);
	return result;
}

short CMapXFeature::GetType()
{
	short result;
	GetProperty(0x2, VT_I2, (void*)&result);
	return result;
}

void CMapXFeature::SetType(short propVal)
{
	SetProperty(0x2, VT_I2, propVal);
}

double CMapXFeature::GetLength()
{
	double result;
	GetProperty(0x3, VT_R8, (void*)&result);
	return result;
}

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

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

CMapXStyle CMapXFeature::GetStyle()
{
	LPDISPATCH result;
	GetProperty(0x6, VT_DISPATCH, (void*)&result);
	return CMapXStyle(result);
}

void CMapXFeature::SetStyle(LPDISPATCH propVal)
{
	SetProperty(0x6, VT_DISPATCH, propVal);
}

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

CString CMapXFeature::GetCaption()
{
	CString result;
	GetProperty(0x8, VT_BSTR, (void*)&result);
	return result;
}

void CMapXFeature::SetCaption(LPCTSTR propVal)
{
	SetProperty(0x8, VT_BSTR, propVal);
}

CMapXParts CMapXFeature::GetParts()
{
	LPDISPATCH result;
	GetProperty(0x9, VT_DISPATCH, (void*)&result);
	return CMapXParts(result);
}

double CMapXFeature::GetArea()
{
	double result;
	GetProperty(0xa, VT_R8, (void*)&result);
	return result;
}

CMapXLayer CMapXFeature::GetLayer()
{
	LPDISPATCH result;
	GetProperty(0xb, VT_DISPATCH, (void*)&result);
	return CMapXLayer(result);
}

CMapXPoint CMapXFeature::GetPoint()
{
	LPDISPATCH result;
	GetProperty(0xc, VT_DISPATCH, (void*)&result);
	return CMapXPoint(result);
}

void CMapXFeature::SetPoint(LPDISPATCH propVal)
{
	SetProperty(0xc, VT_DISPATCH, propVal);
}

CMapXPoint CMapXFeature::GetLabelPoint()
{
	LPDISPATCH result;
	GetProperty(0xd, VT_DISPATCH, (void*)&result);
	return CMapXPoint(result);
}

double CMapXFeature::GetPerimeter()
{
	double result;
	GetProperty(0xe, VT_R8, (void*)&result);
	return result;
}

BOOL CMapXFeature::GetSmooth()
{
	BOOL result;
	GetProperty(0xf, VT_BOOL, (void*)&result);
	return result;
}

void CMapXFeature::SetSmooth(BOOL propVal)
{
	SetProperty(0xf, VT_BOOL, propVal);
}

CString CMapXFeature::GetName()
{
	CString result;
	GetProperty(0x10, VT_BSTR, (void*)&result);
	return result;
}

CString CMapXFeature::GetKeyValue()
{
	CString result;
	GetProperty(0x11, VT_BSTR, (void*)&result);
	return result;
}

void CMapXFeature::SetKeyValue(LPCTSTR propVal)
{
	SetProperty(0x11, VT_BSTR, propVal);
}

CString CMapXFeature::GetFeatureKey()
{
	CString result;
	GetProperty(0x17, VT_BSTR, (void*)&result);
	return result;
}

/////////////////////////////////////////////////////////////////////////////
// CMapXFeature operations

void CMapXFeature::Update(const VARIANT& UpdateFeature, const VARIANT& RowValues)
{
	static BYTE parms[] =
		VTS_VARIANT VTS_VARIANT;
	InvokeHelper(0x12, DISPATCH_METHOD, VT_EMPTY, NULL, parms, &UpdateFeature, &RowValues);
}

void CMapXFeature::Offset(double deltaX, double deltaY)
{
	static BYTE parms[] =
		VTS_R8 VTS_R8;
	InvokeHelper(0x13, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 deltaX, deltaY);
}

void CMapXFeature::Attach(LPDISPATCH Map)
{
	static BYTE parms[] =
		VTS_DISPATCH;
	InvokeHelper(0x14, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Map);
}

CMapXFeature CMapXFeature::Clone()
{
	LPDISPATCH result;
	InvokeHelper(0x15, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, NULL);
	return CMapXFeature(result);
}

VARIANT CMapXFeature::Nodes(const VARIANT& CSys)
{
	VARIANT result;
	static BYTE parms[] =	VTS_VARIANT;
	InvokeHelper(0x16, DISPATCH_METHOD, VT_VARIANT, (void*)&result, parms, &CSys);
	return result;
}

/////////////////////////////////////////////////////////////////////////////
// CMapXFeatureFactory properties

/////////////////////////////////////////////////////////////////////////////
// CMapXFeatureFactory operations

CMapXFeature CMapXFeatureFactory::BufferFeatures(LPDISPATCH Source, double Distance, const VARIANT& Units, const VARIANT& Resolution)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_DISPATCH VTS_R8 VTS_VARIANT VTS_VARIANT;
	InvokeHelper(0x1, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		Source, Distance, &Units, &Resolution);
	return CMapXFeature(result);
}

CMapXFeature CMapXFeatureFactory::CombineFeatures(LPDISPATCH Source1, const VARIANT& Source2)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_DISPATCH VTS_VARIANT;
	InvokeHelper(0x2, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		Source1, &Source2);
	return CMapXFeature(result);
}

CMapXFeature CMapXFeatureFactory::IntersectFeatures(LPDISPATCH Source1, const VARIANT& Source2)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_DISPATCH VTS_VARIANT;
	InvokeHelper(0x3, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		Source1, &Source2);
	return CMapXFeature(result);
}

CMapXFeature CMapXFeatureFactory::EraseFeature(LPDISPATCH Feature, LPDISPATCH EraserFeature)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_DISPATCH VTS_DISPATCH;
	InvokeHelper(0x4, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		Feature, EraserFeature);
	return CMapXFeature(result);
}

CMapXFeature CMapXFeatureFactory::CreateSymbol(const VARIANT& Point, const VARIANT& Style)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_VARIANT VTS_VARIANT;
	InvokeHelper(0x5, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		&Point, &Style);
	return CMapXFeature(result);
}

CMapXFeature CMapXFeatureFactory::CreateRegion(const VARIANT& Points, const VARIANT& Style)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_VARIANT VTS_VARIANT;
	InvokeHelper(0x6, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		&Points, &Style);
	return CMapXFeature(result);
}

CMapXFeature CMapXFeatureFactory::CreateLine(const VARIANT& Points, const VARIANT& Style)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_VARIANT VTS_VARIANT;
	InvokeHelper(0x7, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		&Points, &Style);
	return CMapXFeature(result);
}

CMapXFeature CMapXFeatureFactory::CreateText(const VARIANT& Point, const VARIANT& Caption, const VARIANT& Position, const VARIANT& Style)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
	InvokeHelper(0x8, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		&Point, &Caption, &Position, &Style);
	return CMapXFeature(result);
}

CMapXFeature CMapXFeatureFactory::CreateArc(LPDISPATCH Point1, LPDISPATCH Point2, const VARIANT& Angle, const VARIANT& Distance, const VARIANT& Resolution, const VARIANT& Style)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_DISPATCH VTS_DISPATCH VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
	InvokeHelper(0x9, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		Point1, Point2, &Angle, &Distance, &Resolution, &Style);
	return CMapXFeature(result);
}


CMapXFeature CMapXFeatureFactory::CreateEllipticalRegion(LPDISPATCH Rectangle, const VARIANT& Angle, const VARIANT& Resolution, const VARIANT& Style)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_DISPATCH VTS_VARIANT VTS_VARIANT VTS_VARIANT;
	InvokeHelper(0xa, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		Rectangle, &Angle, &Resolution, &Style);
	return CMapXFeature(result);
}

CMapXFeature CMapXFeatureFactory::CreateCircularRegion(short Type, LPDISPATCH Point, double Distance, const VARIANT& Units, const VARIANT& Resolution, const VARIANT& Style)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_I2 VTS_DISPATCH VTS_R8 VTS_VARIANT VTS_VARIANT VTS_VARIANT;
	InvokeHelper(0xb, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		Type, Point, Distance, &Units, &Resolution, &Style);
	return CMapXFeature(result);
}

BOOL CMapXFeatureFactory::IntersectionTest(LPDISPATCH Feature1, LPDISPATCH Feature2, const VARIANT& Flag)
{
	BOOL result;
	static BYTE parms[] =
		VTS_DISPATCH VTS_DISPATCH VTS_VARIANT;
	InvokeHelper(0xc, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		Feature1, Feature2, &Flag);
	return result;
}

CMapXPoints CMapXFeatureFactory::IntersectionPoints(LPDISPATCH Feature1, LPDISPATCH Feature2, const VARIANT& Flag)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_DISPATCH VTS_DISPATCH VTS_VARIANT;
	InvokeHelper(0xd, DISPATCH_METHOD, VT_DISPATCH, (void*)&re

⌨️ 快捷键说明

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