Тема: Удаления системных команд из контекстного меню объектов TDMS
1 Краткое описание
Функция RemoveMenuItem() с использованием события ContextMenu_ItemAdd() позволяет убирать системные команды из контекстного меню объекта.
2 Основная часть
Для удаления системных команд из контекстного меню объектов TDMS добавьте вызов функции RemoveMenuItem в обработчик события ContextMenu_ItemAdd
Sub ContextMenu_ItemAdd(cmdId, MenuObject, Obj, Remove) Remove = RemoveMenuItem(cmdId,MenuObject,Obj,0,"OBJECTS") ' Remove = RemoveMenuItem(cmdId,MenuObject,Obj,18661,"OBJECT_C883F672_E2D2_4246_8C61_5F0C8056B457") End Sub
' Функция определяет необходимость удаления элемента системного контекстного меню '--------------------------------------------------------------------------------------------------- ' id_:string - идентификатор команды, которую надо удалить. =0 - удаляем все ' sysname_:string - идентификатор типа объекта, который необходимо удалить из ' системного подменю. Например "Создать\<удаляемый тип объекта>" ' ="OBJECTS" - удаляем все ' RemoveMenu:boolean - true - удалить; false - не удалять '--------------------------------------------------------------------------------------------------- Function RemoveMenuItem(cmdId_,MenuObject_,Obj_,id_,sysname_) ' Проверяем, что это выпадающее вертикальное подменю If not MenuObject_ is Nothing Then SysName = MenuObject_.SysName ' Проверяем, требуется ли удаление из меню определенного типа объекта If StrComp(sysname_, SysName, vbTextCompare) = 0 or sysname_="OBJECTS" Then RemoveMenuItem = True End If Else ' Проверяем, требуется ли удаление из меню системной команды If cmdId_ = id_ or id_=0 Then RemoveMenuItem = True End If End If End Function
После выключения всех этих команд, в контекстном меню остаются следующие команды: "Создать", "Добавить ссылку", "Добавить копию", "Найти", которые можно отключить профилем.
3 Вывод
Данная функция может понадобиться, когда требуется наложить дополнительные запреты на выполнения системных команд из контекстного меню, которые не решаются настройкой статуса, ролей и профиля.
4. Коды системных команд в контекстном меню:
18572 - Сохранить
18571 - Сохранить и закрыть
18573 - Отменить редактирование
18517 - Создать выборку
18597 - Добавить выборку
18883 - Копировать ссылку
18884 - Вставить
18516 - Дублировать
18590 - Удалить
18690 - Обновить
18598 - Переместить вверх
18599 - Переместить вниз
18591 - Переместить в...
18575 - Сохранить файлы в базу данных
18594 - На рабочий стол
18900 - Следующее вхождение
18814 - Послать как вложение
24000 - Подписать
18631 - Создать новую версию
18660 - Права доступа
18661 – Свойства