Foxtable(狐表)用户栏目专家坐堂 → [求助]单击菜单组件函数问题


  共有2674人关注过本帖树形打印复制链接

主题:[求助]单击菜单组件函数问题

帅哥哟,离线,有人找我吗?
pcxjxjhkw
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
[求助]单击菜单组件函数问题  发帖心情 Post By:2016/12/5 16:45:00 [只看该作者]

如何写一函数:

单击菜单上任意一组件,返回该组件的上一级,直至最顶级。如单击【打开】,返回:主菜单\功能区\功能组\...\...\打开。有可能是多级组合按钮。

 

[此贴子已经被作者于2016/12/7 13:20:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110629 积分:563047 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/5 17:22:00 [只看该作者]

Dim r As object = BaseMainForm.controls("C1Ribbon1")
Dim mu  = r.Tabs("Common").Groups("Data").Items("AddRow").Items("AddRow")
Output.Show(mu.text)
Output.Show(mu.Parent.text)
Output.Show(mu.Parent.parent.text)
Output.Show(mu.Parent.parent.Tab.text)

 回到顶部
帅哥哟,离线,有人找我吗?
pcxjxjhkw
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2016/12/5 19:09:00 [只看该作者]

以下是引用有点蓝在2016/12/5 17:22:00的发言:
Dim r As object = BaseMainForm.controls("C1Ribbon1")
Dim mu  = r.Tabs("Common").Groups("Data").Items("AddRow").Items("AddRow")
Output.Show(mu.text)
Output.Show(mu.Parent.text)
Output.Show(mu.Parent.parent.text)
Output.Show(mu.Parent.parent.Tab.text)

1.r的级数不确定哟,如何判断已返回到最高一级tab?

2.如何将Sender写入函数中?

3.单击的可能是功能区、程序菜单、快速访问栏、配置栏、上工具栏、下工具栏、快捷菜单中的某一组件,也可能是一窗口中的组件,如何判断所单击的组件属于哪一类?

 

谢谢了

[此贴子已经被作者于2016/12/5 19:37:29编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110629 积分:563047 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/5 20:37:00 [只看该作者]

很麻烦,菜单事件里没有办法获取当前菜单层次,只能靠递归所有菜单进行判断,可以参考下这个
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=52013


 回到顶部
帅哥哟,离线,有人找我吗?
pcxjxjhkw
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2016/12/5 23:28:00 [只看该作者]

Dim e As  Object = Args(0)  '''单击的菜单组件
Dim str As String = e.Sender.Name
''''
Dim a As  Object = e.Sender.Parent

Do While a Is Nothing
    a = a.Sender.Parent.Name
    str = str & "\" & a.Name
Loop


Return str


'''此函数想实现:单击菜单的某一组件,返回该组件的所有父级.,可快捷定位单击的组件.
但Parent报错误,请狐爸及各位老师指导,谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110629 积分:563047 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/6 9:19:00 [只看该作者]

菜单事件没有Parent的,只能按4楼方法解决

 回到顶部
帅哥哟,离线,有人找我吗?
pcxjxjhkw
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2016/12/6 9:23:00 [只看该作者]

或者,狐爸给每个组件一个唯一ID


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/6 10:04:00 [只看该作者]

以下是引用pcxjxjhkw在2016/12/6 9:23:00的发言:

或者,狐爸给每个组件一个唯一ID

 

你命名规范不就好了。各种控件,命名为对应的层级关系,如 功能区1_功能组2_某某控件


 回到顶部
帅哥哟,离线,有人找我吗?
pcxjxjhkw
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2016/12/6 10:09:00 [只看该作者]

以下是引用有点色在2016/12/6 10:04:00的发言:

 

你命名规范不就好了。各种控件,命名为对应的层级关系,如 功能区1_功能组2_某某控件

也有弊病,改动一处,就要全部改动。

 

最好有Parent属性。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
pcxjxjhkw
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2016/12/6 10:58:00 [只看该作者]

各位老师,问题还没解决呀!

 回到顶部
总数 20 1 2 下一页