📄 mapobject学习笔记-第四讲电子地图常用工具开发_魏国强 的 博客.htm
字号:
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>几点说明:</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>(</SPAN><SPAN>1</SPAN><SPAN>)</SPAN><SPAN>Rectangle</SPAN><SPAN>对象描述矩形的特征,即具有四条边和四个直角的几何形状。</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>(</SPAN><SPAN>2</SPAN><SPAN>)</SPAN><SPAN>Point</SPAN><SPAN>对象表示一个点的地理形状,可以通过</SPAN><SPAN>Point</SPAN><SPAN>的</SPAN><SPAN>X,
Y</SPAN><SPAN>属性修改得到它的地理位置坐标值。</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>(</SPAN><SPAN>3</SPAN><SPAN>)</SPAN><SPAN>Map</SPAN><SPAN>控件的几个用到的成员函数:</SPAN><SPAN>CenterAt</SPAN><SPAN>将当前的显示范围中心移动到指定的中心,语法为</SPAN><SPAN>object.CenterAt
x,
y</SPAN><SPAN>;</SPAN><SPAN>ToMapPoint</SPAN><SPAN>是将点的位置从以屏幕坐标表示转换为以地图坐标表示,语法为</SPAN><SPAN>Set
variable = object.ToMapPoint( xControl, yControl)</SPAN><SPAN>。</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt; mso-outline-level: 1"><SPAN>2</SPAN><SPAN>、在指示窗口中拖动方框</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>要实现在指示窗口中拖动方框的功能,程序非常复杂,但是</SPAN><SPAN>MO</SPAN><SPAN>中提供了类模块</SPAN><STRONG
style="mso-bidi-font-weight: normal"><SPAN>DragFeedback</SPAN></STRONG><SPAN>,只要在工程中添加类模块</SPAN><STRONG
style="mso-bidi-font-weight: normal"><SPAN>DragFeedback</SPAN></STRONG><SPAN>就可以了。其中类模块</SPAN><SPAN>DragFeedback</SPAN><SPAN>在</SPAN><SPAN>MO</SPAN><SPAN>安装不全的情况下是不存在的,可以在程序中加入。</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>示例代码见附录。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><STRONG><SPAN
style="FONT-SIZE: 12pt">二</SPAN></STRONG><STRONG><SPAN
style="FONT-SIZE: 12pt">、属性显示</SPAN></STRONG></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>在电子地图系统中,常常要查询地图上对象的属性,这时就需要属性显示的程序设计方法了。</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>1</SPAN><SPAN>、显示一个区的属性</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>添加控件</SPAN><SPAN>Map1</SPAN><SPAN>和</SPAN><SPAN>ListView1</SPAN><SPAN>,并且设置</SPAN><SPAN>ListView1</SPAN><SPAN>的</SPAN><SPAN>View</SPAN><SPAN>属性为</SPAN><SPAN>3</SPAN><SPAN>。并添加如下代码实现区域属性的显示。</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Option
Explicit</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Dim p As
Point</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Dim recs As
Recordset</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Dim fld As
Field</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Dim l As
MapLayer</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Private Sub
Form_Load()</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>' </SPAN><STRONG
style="mso-bidi-font-weight: normal"><SPAN>初始化</SPAN><SPAN>ListView1</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>的</SPAN><SPAN>ColumnHeaders</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>属性</SPAN></STRONG></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Set col =
ListView1.ColumnHeaders.Add()</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>col.Text =
"Field"</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Set col =
ListView1.ColumnHeaders.Add()</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>col.Text =
"Value"</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>' </SPAN><STRONG
style="mso-bidi-font-weight: normal"><SPAN>加载地图数据</SPAN></STRONG></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Dim dc As New
DataConnection</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>dc.Database =
App.Path + "\..\" + "world"</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>If Not dc.Connect
Then End</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Dim layer As
MapLayer<SPAN style="mso-spacerun: yes">
</SPAN></SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Set layer = New
MapLayer</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Set
layer.GeoDataset = dc.FindGeoDataset("country")</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>layer.Symbol.Color
= 4636724</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Map1.Layers.Add
layer</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>End Sub</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Private Sub
Map1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As
Single)</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>' </SPAN><STRONG
style="mso-bidi-font-weight: normal"><SPAN>获得地图对象,</SPAN><SPAN>"country"</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>即为</SPAN><SPAN>Layers</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>对象</SPAN><SPAN>counts</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>属性的名称,也可以以索引号代替</SPAN></STRONG></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN><SPAN
style="mso-spacerun: yes"> </SPAN>Dim newitem As
Object</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 42.75pt; mso-char-indent-count: 4.07"><SPAN>Set
l = Map1.Layers("country")</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>' <STRONG
style="mso-bidi-font-weight: normal">ToMapPoint</STRONG></SPAN><STRONG
style="mso-bidi-font-weight: normal"><SPAN>是</SPAN><SPAN>Map</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>控件的成员函数之一,表示将点的位置从以屏幕坐标转换为以地图坐标系坐标表示,语法为</SPAN><SPAN>Set
variable = object.ToMapPoint( xControl, yControl)</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>,</SPAN><SPAN>variable</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>是以地图坐标系表示的点位置,</SPAN><SPAN>xControl,
yControl</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>是屏幕坐标的值。</SPAN></STRONG></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Set p =
Map1.ToMapPoint(x, y)</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN><STRONG
style="mso-bidi-font-weight: normal">' </STRONG></SPAN><STRONG
style="mso-bidi-font-weight: normal"><SPAN>建立一个</SPAN></STRONG><SPAN>Recordset</SPAN><STRONG
style="mso-bidi-font-weight: normal"><SPAN>查找,语法为</SPAN><SPAN>Set variable
= object.SearchShape( shape, searchMethod, expression
)</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>;该函数是</SPAN></STRONG><SPAN>MapLayer</SPAN><SPAN>对象的一个函数,返回值是图层地理特征的子集,即</SPAN><SPAN>Recordset</SPAN><SPAN>对象。</SPAN><STRONG
style="mso-bidi-font-weight: normal"><SPAN>Expression</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>为逻辑条件表达式,一般为空。</SPAN></STRONG></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Set recs =
l.SearchShape(p, moPointInPolygon, "")<SPAN style="mso-spacerun: yes">
</SPAN></SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>' <STRONG
style="mso-bidi-font-weight: normal">EOF</STRONG></SPAN><STRONG
style="mso-bidi-font-weight: normal"><SPAN>是</SPAN></STRONG><SPAN>Recordset</SPAN><SPAN>对象的<STRONG
style="mso-bidi-font-weight: normal">属性,表示当前记录是否是记录集中的最后一个记录。</STRONG></SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>If Not recs.EOF
Then</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>ListView1.ListItems.Clear</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><STRONG
style="mso-bidi-font-weight: normal"><SPAN>'Fields</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>属性记录集中包含了</SPAN><SPAN>Fields</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>对象的地址指针,而</SPAN><SPAN>Fields</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>对象存储所有</SPAN><SPAN>Recordset</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>对象的所有字段。</SPAN></STRONG></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN><SPAN
style="mso-spacerun: yes"> </SPAN>For Each fld In
recs.Fields<SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN><SPAN
style="mso-spacerun: yes"> </SPAN><STRONG
style="mso-bidi-font-weight: normal">'Field</STRONG></SPAN><STRONG
style="mso-bidi-font-weight: normal"><SPAN>对象表示数据库中的一列数据,包括一般的数据类型和一系列属性值,</SPAN><SPAN>Name</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>是其的一个属性,表示字段名。</SPAN>
</STRONG></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 42.75pt; mso-char-indent-count: 4.07"><SPAN>Set
newItem = ListView1.ListItems.Add</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN><SPAN
style="mso-spacerun: yes"> </SPAN>newItem.Text =
fld.Name</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>' </SPAN><STRONG
style="mso-bidi-font-weight: normal"><SPAN>是</SPAN><SPAN>Field</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>对象的一个属性,是一个字符串,表示将当前记录的字段值转换字符串后的值。</SPAN></STRONG></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN><SPAN
style="mso-spacerun: yes">
</SPAN>newItem.SubItems(1) = fld.ValueAsString<SPAN
style="mso-spacerun: yes"> </SPAN></SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN><SPAN
style="mso-spacerun: yes"> </SPAN>Next fld</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>End If</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>End Sub</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>2</SPAN><SPAN>、显示所有对象的属性</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>在电子地图系统中,对地理实体进行查询,点击一个位置,往往包含多个对象,如一个城市可能在一条河流上,而同时又位于一个地区内。程序可以用一个</SPAN><SPAN>combo</SPAN><SPAN>控件来区分不同的对象。程序比较复杂,这里只给出大家示例代码,在实际的电子地图系统设计过程中,可以直接引用。示例代码见附录。</SPAN></P><SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><STRONG
style="mso-bidi-font-weight: normal"><SPAN
style="FONT-SIZE: 12pt">三、其他电子地图常用工具</SPAN></STRONG></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><STRONG
style="mso-bidi-font-weight: normal"><SPAN>1</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>、地图比例尺工具</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>scalebar</SPAN></STRONG></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>scalebar</SPAN><SPAN>控件可以动态显示地图的比例</SPAN><SPAN>,</SPAN><SPAN>还可以把鼠标的移动坐标写到</SPAN><SPAN>statusbar</SPAN><SPAN>上。一般对比例尺控件进行设置为:</SPAN><SPAN>mapunits=2,minticspace=0.4,scalebarunits=2,screenunits=1</SPAN><SPAN>,为了有效的显示比例信息,</SPAN><SPAN>scalebar</SPAN><SPAN>控件的宽度属性最少为</SPAN><SPAN>1700</SPAN><SPAN>,高度属性为</SPAN><SPAN>600</SPAN><SPAN>。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN>示例代码为:</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN>Private Sub
refreshscale()</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt"><SPAN>ScaleBar1.MapExtent.MaxX =
Map1.Extent.Right</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt"><SPAN>ScaleBar1.MapExtent.MinX =
Map1.Extent.Left</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt"><SPAN>ScaleBar1.MapExtent.MaxY =
Map1.Extent.Bottom</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt"><SPAN>ScaleBar1.MapExtent.MinY =
Map1.Extent.Top</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt"><SPAN>ScaleBar1.PageExtent.MinX = Map1.Left /
Screen.TwipsPerPixelX</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt"><SPAN>ScaleBar1.PageExtent.MinY = Map1.Top /
Screen.TwipsPerPixelY</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt"><SPAN>ScaleBar1.PageExtent.MaxX = (Map1.Left +
Map1.Width) / Screen.TwipsPerPixelX</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt"><SPAN>ScaleBar1.PageExtent.MaxY = (Map1.Top +
Map1.Height) / Screen.TwipsPerPixelY</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt"><SPAN>ScaleBar1.Refresh</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN>End Sub</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><STRONG
style="mso-bidi-font-weight: normal"><SPAN>2</SPAN></STRONG><STRONG
style="mso-bidi-font-weight: normal"><SPAN>、状态栏</SPAN><SPAN>StatusBar</SPAN></STRONG></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>添加一个状态栏,可以把鼠标的移动位置,比例信息以及其他的一些信息写到状态栏上。示例程序中添加一个状态栏控件并设置几个窗格,一个地图控件,一个命令按钮,一个</SPAN><SPAN>Legend</SPAN><SPAN>控件。示例代码如下:</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Dim dc As New
DataConnection</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Dim layer As
MapLayer</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Private Sub
refreshscale()</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>ScaleBar1.MapExtent.MaxX
= Map1.Extent.Right</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>ScaleBar1.MapExtent.MinX
= Map1.Extent.Left</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>ScaleBar1.MapExtent.MaxY
= Map1.Extent.Bottom</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>ScaleBar1.MapExtent.MinY
= Map1.Extent.Top</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>ScaleBar1.PageExtent.MinX
= Map1.Left / Screen.TwipsPerPixelX</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>ScaleBar1.PageExtent.MinY
= Map1.Top / Screen.TwipsPerPixelY</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>ScaleBar1.PageExtent.MaxX
= (Map1.Left + Map1.Width) / Screen.TwipsPerPixelX</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>ScaleBar1.PageExtent.MaxY
= (Map1.Top + Map1.Height) / Screen.TwipsPerPixelY</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>ScaleBar1.Refresh</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>StatusBar1.Panels(1).Text
= "</SPAN><SPAN>比例</SPAN><SPAN><SPAN
style="mso-spacerun: yes">
</SPAN>1</SPAN><SPAN>:</SPAN><SPAN>" & Format$(ScaleBar1.RFScale,
"###,###,###,###")</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>End Sub</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Private Sub
Command1_Click()</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Set Map1.Extent =
Map1.FullExtent</SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>End Sub</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN>Private Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -