|
10楼#
发布于:2005-09-08 20:44
toccontrol 绑定的是Mapcontrol吗?
|
|
|
|
11楼#
发布于:2005-09-08 17:49
<P>我想实现toccontrol右键菜单的deletelayer命令,我是这样的思路:首先建立一个deletelayer类,然后将其作为imenudef的一个item加载,然后通过itoolbarmenu实现toccontrol的右键菜单。但是现在的问题是如何将toccontrol.hittest获取的layer传给deletelayer呢?我现在搞不明白这之间的逻辑关系,郁闷!</P>
<P>请大家帮忙啊!</P> |
|
|
12楼#
发布于:2005-09-08 08:54
可以用vb的自己的上下文菜单,先建立菜单,再将菜单popup
|
|
|
13楼#
发布于:2005-09-07 19:52
其实现在我还没有搞明白!等彻底搞清楚了,告诉大家!不过也请高手出手啊!
|
|
|
14楼#
发布于:2005-09-07 18:13
你知道在AE+VB中怎样实现吗?
|
|
|
15楼#
发布于:2005-09-07 17:11
谢谢kisssy!
|
|
|
16楼#
发布于:2005-09-07 15:31
<P><img src="images/post/smile/dvbbs/em02.gif" /></P>
<P>但不知在VB.NET中,esriTOCControlItem属于哪个命名空间啊?说无此数据类型。</P> |
|
|
17楼#
发布于:2005-09-07 11:26
<P>思路是有的,但还需你自己动脑筋:</P>
<P>1、单击事件中,toccontrol.HitTest方法来判断点击的事物。</P> <P>2、给个例子吧</P> <P>下面是我实现ArcMap中双击toccontrol中Symbol调出SymbolSelector的例子:</P> <P>Private Sub tocCtrl_OnDoubleClick(ByVal Button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long)<br> Dim pMap As IMap<br> Dim pLayer As ILayer<br> Dim pOther As IUnknown<br> Dim pItem As esriTOCControlItem<br> Dim pIndex As Variant</P> <P> 'Determine what kind of item has been clicked on<br> tocCtrl.HitTest x, y, pItem, pMap, pLayer, pOther, pIndex<br> 'Only layer items can have their labels edited<br> If pItem = esriTOCControlItemLegendClass Then<br> Dim pLC As ILegendClass<br> Dim pLG As ILegendGroup<br> If TypeOf pOther Is ILegendGroup Then<br> Set pLG = pOther<br> End If<br> Set pLC = pLG.Class(CLng(pIndex))<br> Dim pSym As ISymbol<br> Set pSym = pLC.Symbol<br> Dim pSS As ISymbolSelector<br> Dim bOK As Boolean<br> Set pSS = New SymbolSelector<br> pSS.AddSymbol pSym<br> bOK = pSS.SelectSymbol(0)<br> If bOK = True Then<br> Set pLC.Symbol = pSS.GetSymbolAt(0)<br> End If<br> tocCtrl.Update<br> mapCtrl.Refresh<br> End If<br>End Sub</P> <P>我想右键菜单,不是太难了吧</P> [此贴子已经被作者于2005-9-7 11:27:45编辑过]
|
|
|
上一页
下一页