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();
}
然後編譯運行。就可以看到USA的地圖了!如果沒有就再試試。