1.在VC下使用MapX控件的方法,网上有很多,但是大都只是讲过程,没有原理。所以很多时候自己在电脑上做的时候还是有很多错误。这里写一下自己学习过程中的一些悟!
一、使用MapX的基石,在VC下显示gst格式的地图
第一步:用MFC应用程序向导新建一个单文档的工程,名字就不妨取为:mapxdemo;
第二步:Project> Add To Project>Files,选择MapX.cpp和MapX.h。同时还要手工将Mapx.h和Mapx.cpp这两个文件复制到你的工程目录中去,不然编译时会报错;
第三步:在mapxdemoView.h文件中包括它:
#include "MapX.h"
另外还要在视图类中定义一个对象:
class CMapxdemoView : pubic CView
{
......
CMapX m_ctrlMapX; //这是要添加的
.....
......
}
第四步::声明一个常量。View > Resource Symbols>New>name为IDC_MAP。
第五步:在类向导(ctrl+W)中为mapxdemoView创建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();
}
转载出处:http://blog.csdn.net/hznydx/article/details/2926893