mfc通過MapWinGIS控件讀取shp文件(不通過#import實現)
阿新 • • 發佈:2018-06-29
連接 bst bool add 創建 利用 layer () ctx
1、首先註冊MapWinGIS ActiveX組件,
引入MapWinGIS.ocx產生的MapWinGIS_i.h和MapWinGIS_i.c文件,利用CoCreateInstance函數來調用
演示代碼:
/*在工程中加入MapWinGIS_i.c文件,該文件定義了類和接口的guid值,如果不引入的話,會發生連接錯誤。*/
#include "MapWinGIS_i.h"
CoInitialize(NULL);
IShapefile* ptr = NULL;
HRESULT hr = CoCreateInstance(CLSID_Shapefile, NULL, CLSCTX_ALL, IID_IShapefile, (void**)&ptr);
if (SUCCEEDED(hr) && (ptr!= NULL))
{
VARIANT_BOOL retval = 0;
ptr->Open(_bstr_t(m_shapePath), NULL, &retval);
m_map.addLayer(ptr, true);
}
CoUninitialize();
其他的類創建與之類似
mfc通過MapWinGIS控件讀取shp文件(不通過#import實現)