📄 mapx.h
字号:
};
enum SymbolTypeConstants
{
miSymbolTypeTrueTypeFont = 0,
miSymbolTypeBitmap = 1,
miSymbolTypeVector = 2
};
enum ColorConstants
{
miColorBlack = 0,
miColorRed = 255,
miColorGreen = 65280,
miColorBlue = 16711680,
miColorMagenta = 16711935,
miColorCyan = 16776960,
miColorWhite = 16777215,
miColorLightGray = 12632256,
miColorDarkGray = 4210752,
miColorGray = 8421504,
miColorPaleYellow = 13697023,
miColorLightYellow = 8454143,
miColorYellow = 65535,
miColorLimeGreen = 12639424,
miColorTeal = 8421440,
miColorDarkGreen = 16384,
miColorMaroon = 128,
miColorPurple = 8388736,
miColorOrange = 33023,
miColorKhaki = 7051175,
miColorOlive = 32896,
miColorBrown = 4210816,
miColorNavy = 8404992,
miColorScrollBars = 0x80000000,
miColorDesktop = 0x80000001,
miColorActiveTitleBar = 0x80000002,
miColorInactiveTitleBar = 0x80000003,
miColorMenuBar = 0x80000004,
miColorWindowBackground = 0x80000005,
miColorWindowFrame = 0x80000006,
miColorMenuText = 0x80000007,
miColorWindowText = 0x80000008,
miColorTitleBarText = 0x80000009,
miColorActiveBorder = 0x8000000A,
miColorInactiveBorder = 0x8000000B,
miColorApplicationWorkspace = 0x8000000C,
miColorHighlight = 0x8000000D,
miColorHighlightText = 0x8000000E,
miColorButtonFace = 0x8000000F,
miColorButtonShadow = 0x80000010,
miColorGrayText = 0x80000011,
miColorButtonText = 0x80000012,
miColorInactiveCaptionText = 0x80000013,
miColor3DHighlight = 0x80000014,
miColor3DDarkShadow = 0x80000015,
miColor3DLight = 0x80000016,
miColorInfoText = 0x80000017,
miColorInfoBackground = 0x80000018,
};
enum IntersectionTestConstants
{
miIntersectCentroidWithinFeature = 0,
miIntersectFeature = 1,
miIntersectEntirelyWithinFeature = 2
};
enum IntersectionPointConstants
{
miIntersectCrossings = 9,
miIntersectCommon = 10,
miIntersectAll = 11
};
enum MousewheelSupportConstants
{
miNoMousewheelSupport = 1,
miMousewheelNoAutoScroll = 2,
miFullMousewheelSupport = 3
};
enum StyleUnitConstants
{
miStyleUnitPixel = 0,
miStyleUnitTenthsOfPoint = 1
};
enum ServerLayerOptions // bit mask for long, must be power of 2
{
miLayerCacheOn = 0, // default = Cache on
miLayerMBRSearchOn = 0, // default = Search on
miLayerCacheOff = 1,
miMBRSearchOff = 2
};
enum LayerBeginAccessConstants
{
miAccessRead= 0,
miAccessReadWrite = 1,
};
enum LayerEndAccessConstants
{
miAccessEnd= 0,
};
enum GraduationConstants
{
miGraduateBySquareRoot = 0,
miGraduateByConstant = 1,
miGraduateByLogarithm = 2
};
enum LayerInfoTypeConstants
{
miLayerInfoTypeTab = 0,
miLayerInfoTypeUserDraw = 1,
miLayerInfoTypeRaster = 2,
miLayerInfoTypeShape = 3,
miLayerInfoTypeServer = 4,
miLayerInfoTypeGeodictUserName = 5,
miLayerInfoTypeTemp = 6,
miLayerInfoTypeNewTable = 7
};
enum MapDrawConstants
{
miDrawBegin = 1,
miDrawEnd = 2
};
enum ColorSpreadingMethodConstants
{
miColorMethodRGB = 0,
miColorMethodHSV = 1
};
enum ApplyAttributeConstants
{
miApplyAttributeAll = 0,
miApplyAttributeColor = 1,
miApplyAttributeSize = 2
};
enum ToolFlagConstants
{
miToolBegin = 0,
miToolEnd = 1,
miToolEndEscaped = 2,
miToolInProgress = 3,
miToolCompleted = 4
};
enum FeatureEditModeConstants
{
miEditModeFeature = 1,
miEditModeNode = 2,
miMoveDuplicateNodes = 4,
miDeleteDuplicateNodes = 8,
miEditModeAddNode = 64
};
enum SearchResultTypeConstants
{
miSearchResultAll = 0x0000,
miSearchResultTopmost = 0x0001,
miSearchResultRegion = 0x0002,
miSearchResultPoint = 0x0004,
miSearchResultLine = 0x0008,
miSearchResultText = 0x0010,
miSearchResultMultipoint= 0x0020,
miSearchResultCollection= 0x0040
};
// forward delcarations
class CMapXAnnotation;
class CMapXAnnotations;
class CMapXBitmapSymbol;
class CMapXBitmapSymbols;
class CMapXCoordSys;
class CMapXDataset;
class CMapXDatasets;
class CMapXFeature;
class CMapXFeatureFactory;
class CMapXFeatures;
class CMapXField;
class CMapXFields;
class CMapXFindFeature;
class CMapXFindMatch;
class CMapXFindMatches;
class CMapXFindResult;
class CMapXGeoset;
class CMapXGeosets;
class CMapXGraphic;
class CMapXIndividualValueCategories;
class CMapXIndividualValueCategory;
class CMapXLabelProperties;
class CMapXLayer;
class CMapXLayerFind;
class CMapXLayerInfo;
class CMapXLayers;
class CMapXLegend;
class CMapXLegendText;
class CMapXLegendTexts;
class CMapXMultivarCategories;
class CMapXMultivarCategory;
class CMapXParts;
class CMapXPoint;
class CMapXPoints;
class CMapXRangeCategories;
class CMapXRangeCategory;
class CMapXRectangle;
class CMapXResolveObject;
class CMapXResolveObjects;
class CMapXRowValue;
class CMapXRowValues;
class CMapXSelection;
class CMapXSourceRow;
class CMapXSourceRows;
class CMapXStyle;
class CMapXTheme;
class CMapXThemeProperties;
class CMapXThemes;
class CMapXTitle;
class CMapXVariable;
class CMapXVariables;
class COptionalVariant;
CLSID GetClassID(LPCTSTR pszProgramID);
// simple class to pass to methods that take
// a variant that we want to mark as optional (not supplied by the method call)
class COptionalVariant: public COleVariant
{
public:
COptionalVariant() { vt = VT_ERROR; scode = DISP_E_PARAMNOTFOUND; }
};
// another helper class to handle dispatch variants
class COleVariantDispatch: public COleVariant
{
public:
COleVariantDispatch(LPDISPATCH pdisp)
{
vt = VT_DISPATCH;
pdispVal = pdisp;
pdispVal->AddRef();
}
};
// This is the MapX major version being used:
#define MAPX_VERSION _T("5")
// MapX program IDs' prefix:
#if defined(MAPX_MOBILE) || defined(UNDER_CE)
#define MAPX_PROGRAM_ID_PREFIX _T("MapXMobile")
#else
#define MAPX_PROGRAM_ID_PREFIX _T("MapX")
#endif
// to derive CMapX from COleDispatchDriver instead of CWnd,
// comment out the next line
#define CWND_MAPX
/////////////////////////////////////////////////////////////////////////////
// CMapX wrapper class
#ifdef CWND_MAPX
//----------------------------
class CMapX : public CWnd
{
protected:
DECLARE_DYNCREATE(CMapX)
public:
virtual BOOL Create(LPCTSTR lpszClassName,
LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd, UINT nID,
CCreateContext* pContext = NULL)
{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }
BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect, CWnd* pParentWnd, UINT nID,
CFile* pPersist = NULL, BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL)
{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
pPersist, bStorage, bstrLicKey); }
#else
class CMapX : public COleDispatchDriver
{
#endif //of #ifdef CWND_MAPX
public:
const CLSID& GetClsid() const
{
static bool bInitialized = false;
static CLSID clsid;
if(!bInitialized)
{
clsid = GetClassID(MAPX_PROGRAM_ID_PREFIX _T(".Map.") MAPX_VERSION);
bInitialized = true;
}
return clsid;
}
// default bAddRef is false because you don't need to addref
// when passing result to Feature.Attach();
LPDISPATCH GetDispatch(BOOL bAddRef=FALSE);
// Attributes
public:
CString GetDataSetGeoField();
void SetDataSetGeoField(LPCTSTR);
CString GetVersion();
OLE_HANDLE GetHWnd();
CMapXAnnotations GetAnnotations();
CMapXLayers GetLayers();
BOOL GetAutoRedraw();
void SetAutoRedraw(BOOL);
double GetZoom();
void SetZoom(double);
double GetCenterX();
void SetCenterX(double);
double GetCenterY();
void SetCenterY(double);
CString GetGeoSet();
void SetGeoSet(LPCTSTR);
double GetGeoSetWidth();
double GetMapPaperHeight();
double GetMapPaperWidth();
short GetMaxSearchTime();
void SetMaxSearchTime(short);
long GetPaperUnit();
void SetPaperUnit(long);
BOOL GetPreferCompactLegends();
void SetPreferCompactLegends(BOOL);
CMapXStyle GetDefaultStyle();
void SetDefaultStyle(LPDISPATCH);
CString GetGeoDictionary();
// this method currently will not work in 'run' mode. which
// is the only mode MFC Control containers support, so don't bother calling it.
void SetGeoDictionary(LPCTSTR);
long GetDataSetTheme();
void SetDataSetTheme(long);
long GetCurrentTool();
void SetCurrentTool(long);
long GetMousePointer();
void SetMousePointer(long);
CMapXDatasets GetDatasets();
CMapXTitle GetTitle();
CString GetTitleText();
void SetTitleText(LPCTSTR);
long GetMapUnit();
void SetMapUnit(long);
double GetRotation();
void SetRotation(double);
CMapXGeosets GetGeosets();
long GetAreaUnit();
void SetAreaUnit(long);
CMapXRectangle GetBounds();
void SetBounds(LPDISPATCH);
CMapXCoordSys GetDisplayCoordSys();
void SetDisplayCoordSys(LPDISPATCH);
CMapXCoordSys GetNumericCoordSys();
void SetNumericCoordSys(LPDISPATCH);
BOOL GetExportSelection();
void SetExportSelection(BOOL);
CMapXStyle GetSelectionStyle();
void SetSelectionStyle(LPDISPATCH);
CMapXFeatureFactory GetFeatureFactory();
long GetDefaultConversionResolution();
void SetDefaultConversionResolution(long);
OLE_COLOR GetBackColor();
void SetBackColor(OLE_COLOR);
long GetMousewheelSupport();
void SetMousewheelSupport(long);
BOOL GetMatchNumericFields();
void SetMatchNumericFields(BOOL);
double GetMapScreenWidth();
double GetMapScreenHeight();
long GetRedrawInterval();
void SetRedrawInterval(long l);
CString GetSearchPath();
void SetSearchPath(LPCTSTR propVal);
short GetMatchThreshold();
void SetMatchThreshold(short l);
BOOL GetWaitCursorEnabled();
void SetWaitCursorEnabled(BOOL b);
BOOL GetPanAnimationLayer();
void SetPanAnimationLayer(BOOL b);
long GetInfotipPopupDelay();
void SetInfotipPopupDelay(long propVal);
CString GetMouseIcon();
void SetMouseIcon(LPCTSTR propVal);
BOOL GetInfotipSupport();
void SetInfotipSupport(BOOL b);
short GetFeatureEditMode();
void SetFeatureEditMode(short);
long GetCheckEscapeKeyInterval();
void SetCheckEscapeKeyInterval(long);
BOOL GetSnapToNodeSupport();
void SetSnapToNodeSupport(BOOL b);
short GetSnapTolerance();
void SetSnapTolerance(short);
BOOL GetDynamicSelectionSupport();
void SetDynamicSelectionSupport(BOOL b);
// Operations
public:
void ConvertCoord(float* ScreenX, float* ScreenY, double* MapX, double* MapY, short Direction);
void ZoomTo(double Zoom, double X, double Y);
void CreateCustomTool(short ToolNumber, short Type, const VARIANT& Cursor, const VARIANT& ShiftCursor, const VARIANT& CtrlCursor, const VARIANT& bInfoTips);
void CreateCustomTool(short ToolNumber, short Type, short Cursor)
{ CreateCustomTool(ToolNumber, Type, COleVariant(Cursor), COptionalVariant(), COptionalVariant(), COptionalVariant()); }
void CreateCustomTool(short ToolNumber, short Type, LPCTSTR Cursor)
{ CreateCustomTool(ToolNumber, Type, COleVariant(Cursor), COptionalVariant(), COptionalVariant(), COptionalVariant()); }
void CreateCustomTool(short ToolNumber, short Type, short Cursor, bool bInfoTips)
{
short sInfoTips = (short) bInfoTips;
CreateCustomTool(ToolNumber, Type, COleVariant(Cursor), COptionalVariant(), COptionalVariant(), COleVariant(sInfoTips));
}
void CreateCustomTool(short ToolNumber, short Type, LPCTSTR Cursor, bool bInfoTips)
{
short sInfoTips = (short) bInfoTips;
CreateCustomTool(ToolNumber, Type, COleVariant(Cursor), COptionalVariant(), COptionalVariant(), COleVariant(sInfoTips));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -