#events #dynamic #menu #execute
#Мероприятия #динамическое #меню #выполнить
Вопрос:
У меня есть таблица Datawindow в окне, которое я создал, и один столбец этого 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(), это запускает событие нажатия этого пункта меню и, например, открывает форму… Итак, как я могу щелкнуть каждую строку и вызвать событие нажатия для каждого пути меню каждой строки? Я полагаю, это проблема с вызовом динамического события, но я не могу найти никакого решения..
Заранее спасибо
Ответ №1:
Вы можете повторно использовать меню для создания массива строк путей к меню. В то же время создайте массив пунктов меню и присвоите ему menuitem
объект, используя тот же номер индекса массива, что и для строк. Не используйте create, просто назначьте menuitem
массиву.
Когда кто-то щелкает по строке, найдите индекс пути в массиве строк, затем запустите событие щелчка по массиву элементов меню, используя тот же индекс.
Массив элементов меню содержит указатели на реальные пункты меню в меню, так что это то же самое, что щелкнуть по пункту меню, например, вы можете закодировать
im_menuitems[li_menuindex].Triggerevent (Clicked!)
и если это так, то это то, что нажимается. m_epith_frame.m_parms_su.m_poi.m_poi_ergast