阅读:1350回复:1
在VC中动态增加图层
<P>CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,"ERSI ShapeFile (*.shp)|*.shp");
if(dlg.DoModal()==IDOK) {</P> <P> CString str,str2; str=dlg.GetPathName(); int i=str.ReverseFind('\\'); str=str.Left(i); str2=dlg.GetFileTitle(); CMoDataConnection conn; if (!conn.CreateDispatch(TEXT("MapObjects2.DataConnection"))) throw "unable to create MapObjects2.DataConnection"; conn.SetDatabase(str); if (!conn.Connect()) throw "unable to connect to database";</P> <P> // Add layer specified by path CMoLayers layers(m_map.GetLayers()); CMoMapLayer layer; if (!layer.CreateDispatch(TEXT("MapObjects2.MapLayer"))) throw "unable to create MapObjects2.MapLayer"; layername=str2; CMoGeoDataset geoDataset(conn.FindGeoDataset(str2)); layer.SetGeoDataset(geoDataset); </P> <P> layers.Add(layer); }</P> |
|
1楼#
发布于:2004-05-10 20:22
支持,来点说明会好点
|
|
|