阅读:1788回复:5
关于如何再mo中实现切图的功能
<P>用mo实现如下功能:</P>
<P>在有很多图层的图中,随意画一个区域,可以将这个区域的图(全部图层)单独提取出来或者能导出,这样再次导入就可以看到所切区域的图。</P> <P>大家能否提供一些思路参考?有例子就更好了!多谢</P> |
|
1楼#
发布于:2004-09-18 13:04
<P>用鼠标选择一个区域,然后输出到文件中,控件不写出了,自己看看吧,vb+mo2。1</P><P>Option Explicit
Private m_recsSelected As MapObjects2.Recordset Private sym As MapObjects2.Symbol</P><P>Private Sub Command1_Click()</P><P>On Error GoTo LayerLoadError</P><P>Dim dc As New MapObjects2.DataConnection Dim mlyr As New MapObjects2.MapLayer</P><P>'User loads shapefile into map using CommonDialog.ShowOpen Map1.Layers.Clear cd.Filter = "Shapefiles (*.shp)|*.shp" cd.ShowOpen dc.Database = CurDir dc.Connect Set mlyr.GeoDataset = dc.FindGeoDataset(cd.FileTitle) mlyr.Symbol.Color = moPaleYellow Map1.Layers.Add mlyr</P><P>LayerLoadError: End Sub</P><P>Private Sub Command2_Click()</P><P>Dim dc As New MapObjects2.DataConnection Dim mlyr As New MapObjects2.MapLayer</P><P>If Not m_recsSelected Is Nothing Then If Map1.Layers.Count > 1 Then Map1.Layers.Remove 0 cd.ShowSave m_recsSelected.Export cd.FileName dc.Database = CurDir dc.Connect Set mlyr.GeoDataset = dc.FindGeoDataset(cd.FileTitle) mlyr.Symbol.Color = moRed Set m_recsSelected = Nothing Map1.Layers.Add mlyr End If End Sub</P><P>Private Sub Form_Load()</P><P>Set sym = New MapObjects2.Symbol With sym .SymbolType = moFillSymbol .Color = moGreen End With</P><P>End Sub</P><P>Private Sub Map1_AfterTrackingLayerDraw(ByVal hDC As stdole.OLE_HANDLE)</P><P>If Not m_recsSelected Is Nothing Then Map1.DrawShape m_recsSelected, sym End If</P><P>End Sub</P><P>Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)</P><P>Dim rect As MapObjects2.Rectangle</P><P>Set rect = Map1.TrackRectangle Set m_recsSelected = Map1.Layers(Map1.Layers.Count - 1).SearchShape(rect, moAreaIntersect, "") Map1.Refresh</P><P>End Sub </P> |
|
|
2楼#
发布于:2004-09-18 16:47
多谢斑竹!
|
|
3楼#
发布于:2004-09-19 11:32
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
|
|
|
4楼#
发布于:2004-09-20 13:37
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
|
|
5楼#
发布于:2004-09-24 13:11
<P>我建议用个对话框显示 用树控件显示查询结果,右键点击弹出菜单选择在列表框中显示当前记录的各属性值。</P>
|
|