0

我在我创建的一个窗口中有一个 Datawindow Grid,这个 DW 的一列作为它的数据,不同的菜单路径与我创建的菜单和子菜单相同。关键是当我双击每个 DW 行时,我想执行作为数据存储在每一行中的不同菜单路径的单击事件。例如第一行是“m_epith_frame.m_parms_su.m_poi.m_poi_ergast”,第二行是“m_appl_frame.m_1_sb.m_2_sb”等。我知道在脚本中,我写m_epith_frame.m_parms_su.m_poi.m_poi_ergast.Clicked(),它触发此菜单项的 Clicked 事件,例如打开一个表单... 那么如何单击每一行并为每行的每个菜单路径触发 clicked 事件?我想这是一个动态事件调用问题,但我找不到任何解决方案..

提前致谢

4

1 回答 1

0

您可以递归菜单以构建菜单路径的字符串数组。同时建立一个菜单项数组,并menuitem使用与字符串相同的数组索引号将对象分配给它。不要使用创建,只需将其分配menuitem给数组。

当有人点击某一行时,在字符串数组中找到路径的索引,然后使用相同的索引在菜单项数组上触发点击事件。

菜单项数组保存指向菜单中真正菜单项的指针,因此它与单击菜单选项相同,例如,您可以编写代码

im_menuitems[li_menuindex].Triggerevent (Clicked!) 

如果这m_epith_frame.m_parms_su.m_poi.m_poi_ergast就是点击的内容。

于 2011-10-26T12:24:50.467 回答