Chinaunix首页 | 论坛 | 博客
  • 博客访问: 302300
  • 博文数量: 78
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 572
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-26 09:59
文章分类

全部博文(78)

文章存档

2015年(8)

2014年(70)

我的朋友

分类: C/C++

2015-02-09 21:51:55

使用VC++创建MapX控件步骤
from: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(); 

第八步:编译运行。
阅读(1795) | 评论(0) | 转发(0) |
0

上一篇:ubuntu下安装mysql

下一篇:VC+MapX

给主人留下些什么吧!~~