使用VC++创建MapX控件步骤

来源:互联网 发布:windows to go 认证u盘 编辑:程序博客网 时间:2024/06/18 12:41

http://blog.csdn.net/zhihu008/article/details/7777227

使用VC++创建MapX控件步骤如下: 
第一步:用VC++的程序向导来创建一个单文档程序MapXSample
 
第二步:Project> Add To Project>Files,选择MapX.cppMapX.h
 
在您的项目中包括MapX.cpp.h文件。这两个文件包含用于对MapX控件进行访问的类定义和方法实现。MapX.h  MapX.cpp 文件可能位于安装有 MapX  Samples50\CPP 子目录中.利用VC++ 环境下的应用程序生成向导创建一单文档应用程序MapSample后,将MapX.hMapX.cpp文件拷贝到当前工程路径下,然后从Project菜单中选择Add  to Project >Files命令,此时打开Insert Files into Project对话框,选择MapSample文件夹下的MapX.hMapXcpp文件加入到工程中。
 
    
 
警告:不要选择Project菜单中的Add to Project > Components And Controls命令。这样做将会创建一个.cpp文件,但该文件将是不完整的。我一开始就是这么做的,结果很多常用函数都没有,郁闷了我很长时间。希望大家一起要切记这一点。 
第三步:在将包含该控件得视图(MapXSampleView.h)中包括它:#include "MAPX.H" 

     警告如果在MapXSampleView.cpp中包含#include "MAPX.H"而不是在MapXSampleView.h就会出现错误,与通常的思维有些不同!error C2501: 'm_ctrlMapX' : missing storage-class or type specifiers!不知道什么原因,我调了好长时间才改过来,网上遇到这种错误也没有能够改正。 
第四步:在MapXSampleView.h中定义一个CmapX对象。
 
class CMapxSampleView : public CView 

      …… 
    protected: 
        CMapX  m_ctrlMapX;//声明类的实例
     …… 

第五步:声明表示用于MapX的控件ID的常数。View > Resource Symbols>New>nameIDC_MAP 
第六步:在类向导(ctrl+w)中为CMapXSampleView创建WM_SIZE  WM_CREATE的处理消息函数:
 
void CMapxSampleView::OnCreate(UINT nType, int cx, int cy)
 

   m_ctrlMapX.Create(NULL, WS_VISIBLE, CRect(0,0,100,100), this,IDC_MAP); 


void CMapxSampleView::OnSize(UINT nType, int cx, int cy) 
{ 
    CView::OnSize(nType, cx, cy); 

    m_ctrlMapX.MoveWindow(0,0,cx,cy,TRUE); 
} 
第七步:在类向导中为CMapXSampleView创建WM_SETFOCUS的处理消息,以确保当窗口处于活动状态时得到焦点。
 
void CMapxSampleView::OnSetFocus(CWnd* pOldWnd) 


    CView::OnSetFocus(pOldWnd); 
    m_ctrlMapX.SetFocus(); 

第八步:编译运行。