CMicaps.cpp的头文件(CMicaps.h)及数据结构定义文件(SMicaps.hpp)
CMicaps.h
001
//---------------------------------------------------------------------------
002
003
#ifndef CMicapsH
004
#define CMicapsH
005
//---------------------------------------------------------------------------
006
#include
"SMicaps.hpp"
007
//---------------------------------------------------------------------------
008
#include
"FStrings.h"
009
#include
"CCoordinate.h"
010
#include
"CDiamond19.h"
011
//---------------------------------------------------------------------------
012
class
CMicaps
//2001-09-07 01:30
013
{
014
private
:
015
AnsiString FMicapsDirectory;
//Micaps主目录
016
AnsiString FMicapsParameter;
//Micaps运行参数
017
AnsiString FMicapsExecuteFile;
//Micaps.exe 全路径文件名
018
bool Enabled;
//Micaps目录及所需文件是否有效
019
bool Setup
(
AnsiString
)
;
//设置Micaps安装目录
020
bool Execute
(
bool
)
;
//运行Micaps
021
bool FOwnerExecute;
//
022
bool FCoordinateEnabled;
//
023
CCoordinate *FCoordinate;
//
024
AnsiString FCurrentOpenFileName;
025
DIAMOND19 FStartData;
026
bool FParameterCorrect;
027
public
:
028
CMicaps
()
;
//结构函数 设置缺省的Micaps - C:/Micaps
029
CMicaps
(
AnsiString
)
;
//结构函数 设置Micaps安装目录
030
CMicaps
(
AnsiString,AnsiString
)
;
//结构函数 设置Micaps安装目录及启动参数文件
031
~CMicaps
()
;
//析构函数
032
HWND FindMicapsWindow
(
void
)
;
//Micaps主窗口
033
bool SetParentWindow
(
HWND
)
;
034
bool SetChildWindow
(
HWND
)
;
035
AnsiString GetMicapsDirectory
(
void
)
;
//获得Micaps安装目录
036
AnsiString GetMicapsParameter
(
void
)
;
//获得Micaps启动参数
037
bool SetMicapsParameter
(
AnsiString
)
;
//设置Micaps启动参数
038
bool IsMicapsRunning
(
void
)
;
//判断Micaps是否已经运行
039
bool Execute
(
void
)
;
//运行Micaps - 非强制方式
040
bool Execute
(
AnsiString
)
;
//带参数运行Micaps - 非强制方式
041
bool ForceExecute
(
void
)
;
//运行Micaps - 强制方式
042
bool ForceExecute
(
AnsiString
)
;
//带参数运行Micaps - 强制方式
043
044
bool Show
(
void
)
;
//显示Micaps
045
bool Close
(
void
)
;
//关闭Micaps
046
bool Print
(
void
)
;
//打印Micaps主窗口
047
bool Revert
(
void
)
;
//复原Micaps
048
049
bool ZoomStatus
(
void
)
;
//设置Micaps窗口为可缩放状态
050
bool Zoom
(
bool
)
;
//缩放Micaps
051
bool Zoom
(
bool,TPoint
)
;
//缩放Micaps 指定位置
052
bool ZoomInt
(
void
)
;
//放大
053
bool ZoomOut
(
void
)
;
//缩小
054
055
bool MenuFromId
(
int
)
;
//执行指定ID号的Micaps菜单项
056
057
HWND DialogOption
(
void
)
;
//返回 显示设置 对话框窗口句柄
058
HWND DialogTools
(
void
)
;
//返回 工具 对话框窗口句柄
059
HWND DialogExplore
(
void
)
;
//返回 图形检索 对话框窗口句柄
060
HWND DialogOpenFile
(
void
)
;
//返回 打开新文件 对话框窗口句柄
061
HWND DialogSaveFile
(
void
)
;
//返回 保存文件 对话框窗口句柄
062
063
bool DialogOption
(
bool
)
;
//显隐 显示设置 对话框
064
bool DialogTools
(
bool
)
;
//显隐 工具 对话框
065
bool DialogExplore
(
bool
)
;
//显隐 图形检索 对话框
066
067
bool PrevTime
(
void
)
;
//上一时次
068
bool NextTime
(
void
)
;
//下一时次
069
bool Animate
(
void
)
;
//动画
070
bool Transparency
(
void
)
;
//清透明板
071
072
bool Tools
(
int,int
)
;
//设置工具按钮
073
bool Tools
(
TPoint
)
;
//设置工具按钮
074
075
bool Explore
(
int
)
;
//设置检索按钮
076
bool Explore
(
int,int
)
;
//设置检索按钮
077
078
bool Status
(
int,int
)
;
//设置文件状态
079
bool Status
(
int,int,int
)
;
//设置文件状态
080
bool Status
(
bool FFile
[]
,
int
FFileCount,
int
FFileStatus
)
;
//设置文件状态
081
082
bool Background
(
int
)
;
//改变Micaps投影
083
bool Palette
(
int
)
;
//改变Micaps调色板
084
bool OpenFile
(
AnsiString
)
;
//打开文件
085
bool OpenFiles
(
AnsiString
)
;
//打开多个文件
086
bool OpenFiles
(
AnsiString,AnsiString,AnsiString
)
;
//打开多个文件
087
bool SaveToFile
(
AnsiString
)
;
//保存文件
088
AnsiString GetOpenFileName
(
void
)
;
089
090
bool LongitudeLatitude
(
void
)
;
//显隐经纬度
091
092
bool OperateFromFile
(
AnsiString
)
;
//根据文件执行Micaps操作
093
bool Operate
(
MICAPSEVENT,OBJECTEVENT*
)
;
//执行Micaps操作
094
095
bool PointEvent
(
POINTEVENT*,int
)
;
//在Micaps主窗口指定位置(窗口坐标)执行指定操作
096
bool PointEvent
(
FLOATPOINTEVENT*,int
)
;
//在Micaps主窗口指定位置(经纬度)执行指定操作
097
bool PointEvent
(
OBJECTEVENT*,int
)
;
//在Micaps主窗口指定位置(经纬度)执行指定操作
098
099
bool MicapsClientRect
(
LPRECT lpRect
)
;
//获得Micaps窗口区域
100
bool MicapsWindowRect
(
LPRECT lpRect
)
;
//获得Micaps窗口区域
101
bool SaveMicapsImage
(
AnsiString ImageFileName
)
;
//保存Micaps主窗口的图像信息为位图
102
protected
:
103
}
;
104
//---------------------------------------------------------------------------
105
#endif
SMicaps.hpp
001 #ifndef SMicapsHPP
002 #define SMicapsHPP
003
004 //---------------------------------------------------------------------------
005 #include "SFloatPoint.hpp"
006 //---------------------------------------------------------------------------
007
008 //Micaps菜单ID---------------------------------------------------------------
009 /*
010 73 55 56 54 61 51
011 文件 资料设置 << >> 动画 工具 外部程序 退出 帮助
012 显示设置66 外部程序1 0 Micaps帮助主题50
013 要素选择67 外部程序2 1 添加[外部程序]53
014 单要素隐现74 ... 关于Micaps系统52
015 清透明板18
016 制作底图19
017 定义综合图69
018 */
019
020 #define MICAPS_MENU_FILE 73 //文件
021
022 #define MICAPS_MENU_VIEWOPTION 66 //显示设置
023 #define MICAPS_MENU_SELECTELEMENT 67 //要素选择
024 #define MICAPS_MENU_SINGLEELEMENT 74 //单要素隐现
025 #define MICAPS_MENU_TRANSPARENCY 18 //清透明板
026 #define MICAPS_MENU_FACTUREMAP 19 //制作底图
027 #define MICAPS_MENU_DECLAREZHT 69 //定义综合图
028
029 #define MICAPS_MENU_PREVTIME 55 //前翻
030 #define MICAPS_MENU_NEXTTIME 56 //后翻
031 #define MICAPS_MENU_ANIMATE 54 //动画
032
033 #define MICAPS_MENU_EDITTOOL 61 //工具
034
035 #define MICAPS_MENU_CMDLINE0 0 //外部程序
036 #define MICAPS_MENU_CMDLINE1 1 //外部程序
037 #define MICAPS_MENU_CMDLINE2 2 //外部程序
038 #define MICAPS_MENU_CMDLINE3 3 //外部程序
039 #define MICAPS_MENU_CMDLINE4 4 //外部程序
040 #define MICAPS_MENU_CMDLINE5 5 //外部程序
041 #define MICAPS_MENU_CMDLINE6 6 //外部程序
042 #define MICAPS_MENU_CMDLINE7 7 //外部程序
043 #define MICAPS_MENU_CMDLINE8 8 //外部程序
044 #define MICAPS_MENU_CMDLINE9 9 //外部程序
045
046 #define MICAPS_MENU_EXIT 51 //退出
047
048 #define MICAPS_MENU_HELPTOPIC 50 //帮助主题
049 #define MICAPS_MENU_APPENDCMD 53 //添加外部程序
050 #define MICAPS_MENU_ABOUTSYSTEM 52 //关于Micaps系统
051
052 #define MICAPS_MENU_WJ MICAPS_MENU_FILE //文件
053
054 #define MICAPS_MENU_XSSZ MICAPS_MENU_VIEWOPTION //显示设置
055 #define MICAPS_MENU_YSXZ MICAPS_MENU_SELECTELEMENT //要素选择
056 #define MICAPS_MENU_DYSYX MICAPS_MENU_SINGLEELEMENT //单要素隐现
057 #define MICAPS_MENU_QTMB MICAPS_MENU_TRANSPARENCY //清透明板
058 #define MICAPS_MENU_ZZDT MICAPS_MENU_FACTUREMAP //制作底图
059 #define MICAPS_MENU_DYZHT MICAPS_MENU_DECLAREZHT //定义综合图
060
061 #define MICAPS_MENU_XQ MICAPS_MENU_PREVTIME //前翻
062 #define MICAPS_MENU_XH MICAPS_MENU_NEXTTIME //后翻
063 #define MICAPS_MENU_DH MICAPS_MENU_ANIMATE //动画
064
065 #define MICAPS_MENU_GJ MICAPS_MENU_EDITTOOL //工具
066
067 #define MICAPS_MENU_WBCX1 MICAPS_MENU_CMDLINE1 //外部程序
068 #define MICAPS_MENU_WBCX2 MICAPS_MENU_CMDLINE2 //外部程序
069 #define MICAPS_MENU_WBCX3 MICAPS_MENU_CMDLINE3 //外部程序
070 #define MICAPS_MENU_WBCX4 MICAPS_MENU_CMDLINE4 //外部程序
071 #define MICAPS_MENU_WBCX5 MICAPS_MENU_CMDLINE5 //外部程序
072 #define MICAPS_MENU_WBCX6 MICAPS_MENU_CMDLINE6 //外部程序
073 #define MICAPS_MENU_WBCX7 MICAPS_MENU_CMDLINE7 //外部程序
074 #define MICAPS_MENU_WBCX8 MICAPS_MENU_CMDLINE8 //外部程序
075 #define MICAPS_MENU_WBCX9 MICAPS_MENU_CMDLINE9 //外部程序
076
077 #define MICAPS_MENU_TC MICAPS_MENU_EXIT //退出
078
079 #define MICAPS_MENU_BZZT MICAPS_MENU_HELPTOPIC //帮助主题
080 #define MICAPS_MENU_TJWBCX MICAPS_MENU_APPENDCMD //添加外部程序
081 #define MICAPS_MENU_GYXT MICAPS_MENU_ABOUTSYSTEM //关于Micaps系统
082 //关闭Micaps对话框-----------------------------------------------------------
083 #define MICAPS_DLG_CLOSE_OKBUTTON 1
084 #define MICAPS_DLG_CLOSE_CANCELBUTTON 2
085 //打开新文件对话框-----------------------------------------------------------
086 #define MICAPS_DLG_OPEN_OKBUTTON 1
087 #define MICAPS_DLG_OPEN_CANCELBUTTON 2
088 #define MICAPS_DLG_OPEN_EDITCTRL 1152
089 //保存文件对话框-------------------------------------------------------------
090 #define MICAPS_DLG_SAVE_OKBUTTON 1
091 #define MICAPS_DLG_SAVE_CANCELBUTTON 2
092 #define MICAPS_DLG_SAVE_EDITCTRL 1152
093 //显示文件对话框-------------------------------------------------------------
094 #define MICAPS_DLG_VIEWOPTION_VIEWBUTTON 893
095 #define MICAPS_DLG_VIEWOPTION_HIDEBUTTON 894
096 #define MICAPS_DLG_VIEWOPTION_MODIFYBUTTON 895
097 #define MICAPS_DLG_VIEWOPTION_EDITBUTTON 896
098 #define MICAPS_DLG_VIEWOPTION_MOVEBUTTON 897
099 #define MICAPS_DLG_VIEWOPTION_LISTBOXCTRL 892
100 //文件属性-------------------------------------------------------------------
101 #define MICAPS_FILE_STATUS_VIEW 893
102 #define MICAPS_FILE_STATUS_HIDE 894
103 #define MICAPS_FILE_STATUS_MODIFY 895
104 #define MICAPS_FILE_STATUS_EDIT 896
105 #define MICAPS_FILE_STATUS_MOVE 897
106 //Micaps背景图投影方式-------------------------------------------------------
107 #define MICAPS_BACKGROUNG_TYPE_BBQ 0
108 #define MICAPS_BACKGROUNG_TYPE_LAMBERT 1
109 #define MICAPS_BACKGROUNG_TYPE_MECATOR 2
110 #define MICAPS_BACKGROUNG_TYPE_LINEAR 3
111 //---------------------------------------------------------------------------
112 #define EditTools ( CIndex,RIndex ) Point (( CIndex% 5 ) * 24 + 12 , ( RIndex% 12 ) * 24 + 12 )
113 #define OperateTools ( ToolsIndex ) Point ( 16 , ( ToolsIndex% 12 ) * 28 + 24 )
114 //---------------------------------------------------------------------------
115 typedef struct _tagPOINTEVENT
116 {
117 TPoint Place; //鼠标操作的位置
118 bool Event; //true为鼠标左键,false为鼠标右键
119 } POINTEVENT;
120 //---------------------------------------------------------------------------
121 typedef struct _tagFLOATPOINTEVENT
122 {
123 TFloatPoint Place; //鼠标操作的经纬度
124 bool Event; //true为鼠标左键,false为鼠标右键
125 } FLOATPOINTEVENT;
126 //---------------------------------------------------------------------------
127 typedef struct _tagMICAPSEVENT
128 {
129 int Object; //MICAPS, MENU, TOOLS, EXPLORE, OPTION, NULL
130 int Count;
131 } MICAPSEVENT;
132 //---------------------------------------------------------------------------
133 typedef struct _tagOBJECTEVENT
134 {
135 int Button;
136 int Event;
137 float Longitude;
138 float Latitude;
139 } OBJECTEVENT;
140 //---------------------------------------------------------------------------
141 #define MICAPS_OBJECT_NULL 0
142 #define MICAPS_OBJECT_MICAPS 1 //Micaps主窗口
143 #define MICAPS_OBJECT_MENU 2 //Micaps菜单
144 #define MICAPS_OBJECT_TOOLS 3 //Micaps工具窗口
145 #define MICAPS_OBJECT_EXPLORE 4 //Micaps图形检索窗口
146 #define MICAPS_OBJECT_OPTION 5 //Micaps显示设置
147
148 #define MICAPS_CONTROL_LEFT 0 //鼠标左键
149 #define MICAPS_CONTROL_RIGHT 1 //鼠标右键
150
151 #define MICAPS_CONTROL_DOWN 0 //按下
152 #define MICAPS_CONTROL_UP 1 //弹起
153 #define MICAPS_CONTROL_CLICK 2 //单击
154 #define MICAPS_CONTROL_DBLCLK 3 //双击
155 //---------------------------------------------------------------------------
156 #endif