模拟人工操作Micaps1.0的C++类源代码(头文件及数据结构定义文件)

来源:互联网 发布:python 二维矩阵画图 编辑:程序博客网 时间:2024/05/17 09:17

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