默认头像
路人甲
路人甲
  • 注册日期2004-03-19
  • 发帖数319
  • QQ
  • 铜币824枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:4285回复:15

请教AE中关于Toccontrol中的问题

楼主#
更多 发布于:2005-07-28 10:57

在AE中很多都要自己写,比如象在toccontrol中的菜单,小弟查了一些帮助,说用ITOCControl中的HitTest来实现,但是没有找到例子,所以无从下手写,还请指教,我现在只想实现两个菜单,就是删除和打开属性表。谢谢大虾,还有就是如何改变图层的相对位置。


喜欢0 评分0
心情卡片 一起分享...
默认头像
路人甲
路人甲
  • 注册日期2004-03-19
  • 发帖数319
  • QQ
  • 铜币824枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-07-28 11:07
顶一下!应该有大虾做过吧
心情卡片 一起分享...
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-06-08
  • 发帖数166
  • QQ
  • 铜币782枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-07-28 11:15

TOCControl1.HitTest x, y, pItem, pMap, pLayer, pOther, pIndex

if pItem.text = "Remove" then
 for i = 0 to pMap.count

    if pMap.Layer(i).name = pLayer.name then

                pMap.Layer(i).delete

    end if

  next i

elseif pItem.text = "Attribute Table"

  在帮助里找Attribute Table,记不清了.

endif

手头没AO,因此上面的代码没有调试过,可能有错误,希望对你有帮助.

举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-03-19
  • 发帖数319
  • QQ
  • 铜币824枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-07-28 11:19
谢谢,谢谢楼上的兄台的提示
心情卡片 一起分享...
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-03-19
  • 发帖数319
  • QQ
  • 铜币824枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2005-07-28 12:22

代码改后如下:

Private Sub TOCControl1_OnMouseDown(ByVal button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long)
If (button = vbRightButton) Then
Dim pMap As IMap
Dim pLayer As ILayer
Dim pOther As IUnknown
Dim pItem As esriTOCControlItem
Dim pIndex As Variant

 TOCControl1.HitTest x, y, pItem, pMap, pLayer, pOther, pIndex
 If pItem.Text = "Remove" Then
 For i = 0 To pMap.Count
   If pMap.Layer(i).Name = pLayer.Name Then
      pMap.Layer(i).Delete
   End If
 Next i
   'ElseIf pItem.Text = "Attribute Table" Then
   '在帮助里找Attribute Table,记不清了.
 End If
End If
End Sub

运行没有问题,但是只要在toccontrol中点右键就会提示:编译错误,无效限定符。提示行在pItem,不知道哪里出错了,还请指教!

心情卡片 一起分享...
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-03-19
  • 发帖数319
  • QQ
  • 铜币824枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2005-07-29 10:07
现在有两个问题了 ,一个是移动图层,一个是打开表
心情卡片 一起分享...
举报 回复(0) 喜欢(0)     评分
默认头像
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
6楼#
发布于:2005-07-29 18:19

木白林,我不知道你说哪一行

移动图层就是先获取图层,然后用moveto了

打开表:获取图层(featureclass)>feature>field

读每个字段的value就是了,帮助里都有的,还是自己写点代码再问吧,

GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-03-19
  • 发帖数319
  • QQ
  • 铜币824枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2005-07-29 20:23

谢谢老大,我已经在找了...

心情卡片 一起分享...
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-03-19
  • 发帖数319
  • QQ
  • 铜币824枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2005-08-01 17:21

都过了这么久,还是没有进展...拜托有没有哪位做过打开属性表的啊?

心情卡片 一起分享...
举报 回复(0) 喜欢(0)     评分
默认头像
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
9楼#
发布于:2005-08-02 00:17

这个不难打开啊,你有什么问题啊?

GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
上一页
默认头像

返回顶部