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

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值