教你如何加载指定tab文件
以下代码演示了如何加载指定tab文件 int CHtGisClientView::LoadCustomLayers(char *LayerDirPath) { CMapXLayerInfo layerInfo ; // CMapXFields mapFields; CStringArray tabFileList ; try{ layerInfo.CreateDispatch( layerInfo.GetClsid() ); // mapFields www. .CreateDispatch( mapFields.GetClsid()); // // mapFields.AddStringField("FID",254); // // COleVariant vFields; // vFields.vt=VT_DISPATCH; // vFields.pdispVal=mapFields; // vFields.pdispVal->AddRef(); GetFilesOfPath( LayerDirPath , tabFileList ) ; CString tabFileName , tabFileTitle ; for ( int i = 0 ; i < tabFileList.GetSize() ; i++ ) { tabFileName = tabFileList.GetAt( i ) ; tabFileTitle = GetFileTitleFromFileName( tabFileName , FALSE ); layerInfo.SetType( miLayerInfoTypeTab ) ; layerInfo.AddParameter("Filespec" , COleVariant(tabFileName) ); layerInfo.AddParameter("Name" , COleVariant(tabFileTitle) ); // layerInfo.AddParameter("Fields", vFields ); m_ctrlMapX.GetLayers().Add(layerInfo); } [Page] return R_OK ; } catch(COleDispatchException* e) { e->ReportError(); e->Delete(); } catch(COleException* e) { e->ReportError(); e->Delete(); } return R_DEFAULT ; } 教你如何加载指定tab文件 |
|