CMapXLayerInfo LayerInfo ;
CMapXFields MapFields ;
try {
LayerInfo.CreateDispatch( LayerInfo.GetClsid() ) ;
MapFields.CreateDispatch( MapFields.GetClsid() );
MapFields.AddIntegerField( " C_ID " , TRUE ) ;
MapFields.AddStringField( " Name " , 32 ) ;
COleVariant vFields;
vFields.vt = VT_DISPATCH ;
vFields.pdispVal = MapFields;
vFields.pdispVal -> AddRef();
LayerInfo.SetType( miLayerInfoTypeNewTable ); // 如果是miLayerInfoTypeTemp,则为临时图层
LayerInfo.AddParameter( " Filespec " , COleVariant( " peirenlei " ) );
LayerInfo.AddParameter( " Name " , COleVariant( " peirenlei " ) );
LayerInfo.AddParameter( " Fields " , vFields );
m_ctrlMapX.GetLayers().Add( LayerInfo );
}
catch (COleDispatchException * e) {
e -> ReportError();
e -> Delete();
} catch (COleException * e) {
e -> ReportError();
e -> Delete();
}
CMapXFields MapFields ;
try {
LayerInfo.CreateDispatch( LayerInfo.GetClsid() ) ;
MapFields.CreateDispatch( MapFields.GetClsid() );
MapFields.AddIntegerField( " C_ID " , TRUE ) ;
MapFields.AddStringField( " Name " , 32 ) ;
COleVariant vFields;
vFields.vt = VT_DISPATCH ;
vFields.pdispVal = MapFields;
vFields.pdispVal -> AddRef();
LayerInfo.SetType( miLayerInfoTypeNewTable ); // 如果是miLayerInfoTypeTemp,则为临时图层
LayerInfo.AddParameter( " Filespec " , COleVariant( " peirenlei " ) );
LayerInfo.AddParameter( " Name " , COleVariant( " peirenlei " ) );
LayerInfo.AddParameter( " Fields " , vFields );
m_ctrlMapX.GetLayers().Add( LayerInfo );
}
catch (COleDispatchException * e) {
e -> ReportError();
e -> Delete();
} catch (COleException * e) {
e -> ReportError();
e -> Delete();
}