1. 程式人生 > >mfc通過MapWinGIS控件讀取shp文件(不通過#import實現)

mfc通過MapWinGIS控件讀取shp文件(不通過#import實現)

連接 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實現)