reecho
路人甲
路人甲
  • 注册日期2004-07-16
  • 发帖数31
  • QQ
  • 铜币184枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1458回复:1

[求助]ITOCControl

楼主#
更多 发布于:2005-09-05 12:15
  有哪位大侠知道在ITOCControl里如何实现ctrl+鼠标左键实现图层多选的功能?请赐教啊,不胜感激!
喜欢0 评分0
cftao2008
路人甲
路人甲
  • 注册日期2005-03-09
  • 发帖数141
  • QQ
  • 铜币568枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-09-06 11:46
<P><STRONG>这段代码你看一看有没有帮助!</STRONG></P>
<P><STRONG>Sub SelectLayersInDisplayView()<BR>' selects all of the layers in the first data frame in the TOC's display view<BR>    Dim pMxDoc As IMxDocument    </STRONG></P>
<P><STRONG>Set pMxDoc = ThisDocument    </STRONG></P>
<P><STRONG>Dim pTOC As IContentsView    </STRONG></P>
<P><STRONG>Set pTOC = pMxDoc.ContentsView(0) </STRONG></P>
<P><STRONG>' Display View       </STRONG></P>
<P><STRONG> Dim pMaps As IMaps    </STRONG></P>
<P><STRONG>Set pMaps = pMxDoc.Maps    </STRONG></P>
<P><STRONG>Dim pMap As IMap        </STRONG></P>
<P><STRONG>Dim i As Integer    </STRONG></P>
<P><STRONG>Set pMap = pMaps.Item(0) </STRONG></P>
<P><STRONG>' first data frame    </STRONG></P>
<P><STRONG>Dim pEnumLayer As IEnumLayer    </STRONG></P>
<P><STRONG>Set pEnumLayer = pMap.Layers(, False) </STRONG></P>
<P><STRONG>' we will not select layers within group layers    </STRONG></P>
<P><STRONG>Dim pLayer As ILayer    </STRONG></P>
<P><STRONG>Set pLayer = pEnumLayer.Next        pTOC.RemoveFromSelectedItems pTOC.SelectedItem    </STRONG></P>
<P><STRONG>Do While Not pLayer Is Nothing        <FONT color=#ff0000>pTOC.AddToSelectedItems pLayer        pTOC.Refresh pLayer       </FONT></STRONG></P>
<P><STRONG><FONT color=#ff0000> Set pLayer = pEnumLayer.Next    </FONT></STRONG></P>
<P><STRONG>Loop    </STRONG></P>
<P><STRONG>End Sub</STRONG></P><STRONG>
<P><BR>Sub SelectDataFrameInSourceView()<BR>' selects the first data frame in the TOC's source view<BR>    </P>
<P>Dim pMxDoc As IMxDocument    </P>
<P>Set pMxDoc = ThisDocument    </P>
<P>Dim pTOC As IContentsView    </P>
<P>Set pTOC = pMxDoc.ContentsView(1) </P>
<P>' Source View        </P>
<P>Dim pMaps As IMaps    </P>
<P>Set pMaps = pMxDoc.Maps    </P>
<P>Dim pMap As IMap    </P>
<P>Set pMap = pMaps.Item(0) </P>
<P>' first data frame            pTOC.SelectedItem = Nothing    pTOC.SelectedItem = pMap    </P>
<P>pTOC.Refresh pMap</P>
<P>End Sub</STRONG></P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部