Что можно увидеть в контекстном меню файлового объекта

Обновлено: 21.11.2024

В контекстном меню доступны различные команды в зависимости от типа объекта и назначенных привилегий. Выделите один или несколько объектов в правой половине окна Проводника и щелкните правой кнопкой мыши, чтобы открыть контекстное меню.

Открывает отдельное окно активности для каждого выделенного объекта.

Перемещает выделенные объекты в корзину.

Удаляет выделенные ссылки.

Команда Изменить открывает выбранные объекты.

Экспортирует содержимое окна Проводника в файл Excel (explorer.csv).

Создает ссылку выделенного объекта в выбранной целевой папке. Если объект был доступен только в , он больше не будет отображаться, так как эта папка содержит только объекты, недоступные в других папках.

Перемещает выделенные объекты в выбранную целевую папку.

Открывает окно шаблона, и можно создать новый объект.

Открыть домашнюю папку

Эта команда доступна только для ссылок. Он открывает окно проводника, в котором отображается папка, в которой хранится объект.

Печать
Печать.
Предварительный просмотр

Эта команда печатает выделенные объекты со всеми указанными настройками. Воспользуйтесь командой Печать. или Предварительный просмотр для просмотра страницы, которая будет напечатана заранее.

Открывает окно свойств выделенных объектов.

Открывает текстовое поле для каждого выделенного объекта, в котором вы можете определить новое имя или заголовок.

Откроется диалоговое окно «Заменить использование», в котором перечислены все объекты, в которых используется выделенный объект. Это диалоговое окно можно использовать, чтобы найти, где используются объекты, и заменить их.

Откроется диалоговое окно "Поиск", и вы сможете искать объекты, используя выделенный объект (например, рабочий процесс или расписание).

Если администратор определил вызовы внешних программ или внутренних объектов в переменной UC_SENDTO или UC_SENDTO_ACT, контекстное меню проводника дополнительно содержит меню «Отправить». Вы можете выбрать программу или объект для вызова из подменю.

В него передаются коды ранее выделенных объектов для дальнейшей обработки.

Открывает статистический обзор каждого выделенного объекта.

Открывает монитор синхронизации, в котором отображается текущий статус выделенного объекта синхронизации и его использование в задачах.

Эту команду можно использовать для отображения объектов, отображаемых в окнах Проводника, в другой форме. Они могут отображаться крупными значками, в виде списка или с подробностями.

Обратите внимание, что доступность функций, описанных выше, зависит от авторизации. Это включает в себя то, что в одном и том же клиенте для разных пользователей доступны разные функции.

Контекстное меню — это меню, которое появляется при щелчке правой кнопкой мыши графического объекта или компонента пользовательского интерфейса. Используйте функцию uicontextmenu для создания контекстного меню и установки свойств. Изменяя значения свойств, вы можете изменить внешний вид и поведение контекстного меню. Используйте точечную нотацию для ссылки на конкретный объект и свойство контекстного меню. Вы можете создать контекстное меню для фигуры, созданной либо с помощью функции uifigure, либо с помощью фигуры.

Обратные вызовы

ContextMenuOpeningFcn — Функция обратного вызова открытия контекстного меню
'' (по умолчанию) | ручка функции | массив ячеек | вектор символов

Функция обратного вызова открытия контекстного меню в виде одного из этих значений:

Дескриптор функции.

Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.

Вектор символов, содержащий допустимое выражение MATLAB® (не рекомендуется). MATLAB оценивает это выражение в базовой рабочей области.

Для получения дополнительной информации об указании значения свойства обратного вызова в виде дескриптора функции, массива ячеек или вектора символов см. раздел Определение функции обратного вызова.

CreateFcn — Функция создания
'' (по умолчанию) | ручка функции | массив ячеек | вектор символов

Функция создания объекта в виде одного из следующих значений:

Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.

Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуется). MATLAB оценивает это выражение в базовой рабочей области.

Дополнительную информацию об указании обратного вызова в виде дескриптора функции, массива ячеек или вектора символов см. в разделе Обратные вызовы в App Designer.

Это свойство задает функцию обратного вызова для выполнения, когда MATLAB создает объект. MATLAB инициализирует все значения свойств перед выполнением обратного вызова CreateFcn. Если вы не укажете свойство CreateFcn, то MATLAB выполнит функцию создания по умолчанию.

Установка свойства CreateFcn для существующего компонента не влияет.

Если вы укажете это свойство как дескриптор функции или массив ячеек, вы сможете получить доступ к создаваемому объекту, используя первый аргумент функции обратного вызова. В противном случае используйте функцию gcbo для доступа к объекту.

DeleteFcn — Функция удаления
'' (по умолчанию) | ручка функции | массив ячеек | вектор символов

Функция удаления объекта в виде одного из следующих значений:

Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.

Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуется). MATLAB оценивает это выражение в базовой рабочей области.

Дополнительную информацию об указании обратного вызова в виде дескриптора функции, массива ячеек или вектора символов см. в разделе Обратные вызовы в App Designer.

Это свойство задает функцию обратного вызова для выполнения, когда MATLAB удаляет объект. MATLAB выполняет обратный вызов DeleteFcn перед уничтожением свойств объекта. Если вы не задаете свойство DeleteFcn, то MATLAB выполняет функцию удаления по умолчанию.

Если вы укажете это свойство как дескриптор функции или массив ячеек, вы сможете получить доступ к удаляемому объекту, используя первый аргумент функции обратного вызова. В противном случае используйте функцию gcbo для доступа к объекту.

Контроль выполнения обратного вызова

Interruptible — прерывание обратного вызова
'on' (по умолчанию) | вкл/выкл логическое значение

Прерывание обратного вызова, указанное как 'on' или 'off' , либо числовое или логическое значение 1 (true) или 0 (false). Значение «on» эквивалентно true, а «off» эквивалентно false. Таким образом, вы можете использовать значение этого свойства как логическое значение. Значение сохраняется как логическое значение типа «вкл/выкл» типа matlab.lang.OnOffSwitchState .

Это свойство определяет, может ли текущий обратный вызов быть прерван. Следует учитывать два состояния обратного вызова:

Обратный вызов running – это обратный вызов, который выполняется в данный момент.

Обратный вызов interrupting — это обратный вызов, который пытается прервать текущий обратный вызов.

MATLAB определяет поведение прерывания обратного вызова всякий раз, когда он выполняет команду, которая обрабатывает очередь обратного вызова. К этим командам относятся drawow, figure, uifigure, getframe, waitfor и pause.

Если текущий обратный вызов не содержит ни одной из этих команд, прерывания не происходит. MATLAB сначала завершает выполнение текущего обратного вызова, а затем выполняет прерывающий обратный вызов.

Если текущий обратный вызов содержит одну из этих команд, то свойство Interruptible объекта, которому принадлежит текущий обратный вызов, определяет, происходит ли прерывание:

Если значение Interruptible равно 'off' , то прерывание не происходит. Вместо этого свойство BusyAction объекта, которому принадлежит прерывающий обратный вызов, определяет, отбрасывается ли прерывающий обратный вызов или добавляется в очередь обратного вызова.

Если значение Interruptible равно 'on', происходит прерывание. В следующий раз, когда MATLAB обрабатывает очередь обратного вызова, он останавливает выполнение текущего обратного вызова и выполняет прерывающий обратный вызов. После завершения прерывающего обратного вызова MATLAB возобновляет выполнение текущего обратного вызова.

Примечание

В этих ситуациях прерывание и выполнение обратного вызова ведут себя по-разному:

Если прерывающий обратный вызов является обратным вызовом DeleteFcn , CloseRequestFcn или SizeChangedFcn , то прерывание происходит независимо от значения свойства Interruptible.

Если текущий обратный вызов в настоящее время выполняет функцию ожидания, то прерывание происходит независимо от значения свойства Interruptible.

Если прерывающий обратный вызов принадлежит объекту Timer, то обратный вызов выполняется по расписанию независимо от значения свойства Interruptible.

Примечание

Когда происходит прерывание, MATLAB не сохраняет состояние свойств или отображения. Например, объект, возвращаемый командой gca или gcf, может измениться при выполнении другого обратного вызова.

BusyAction — Постановка в очередь обратного вызова
'queue' (по умолчанию) | 'отменить'

Очередь обратного вызова, указанная как 'queue' или 'cancel' . Свойство BusyAction определяет, как MATLAB обрабатывает выполнение прерывающих обратных вызовов. Следует учитывать два состояния обратного вызова:

Обратный вызов running – это обратный вызов, который выполняется в данный момент.

Обратный вызов interrupting — это обратный вызов, который пытается прервать текущий обратный вызов.

Свойство BusyAction определяет поведение очереди обратного вызова только при соблюдении обоих следующих условий:

Выполняемый обратный вызов содержит команду, которая обрабатывает очередь обратного вызова, например, drawow , figure , uifigure , getframe , waitfor или pause .

Значение свойства Interruptible объекта, которому принадлежит выполняющийся обратный вызов, равно 'off' .

В этих условиях свойство BusyAction объекта, которому принадлежит прерывающий обратный вызов, определяет, как MATLAB обрабатывает прерывающий обратный вызов. Возможные значения свойства BusyAction:

'queue' — помещает прервавший обратный вызов в очередь для обработки после завершения выполнения текущего обратного вызова.


На панели сведений отображается различная информация об объекте, выбранном в File Explorer. Это включает в себя дату изменения файла, размер файла, автора файла и другую информацию, которая может быть связана со свойствами файла в Windows.

Панель сведений можно включить или отключить с помощью специальной кнопки на ленте пользовательского интерфейса Проводника. Он доступен на вкладке «Вид» для переключения видимости панели «Сведения». Наличие этой команды в контекстном меню очень полезно. Это позволит вам гораздо быстрее включать или отключать область сведений, не переключаясь на соответствующую вкладку ленты.

Чтобы добавить контекстное меню панели сведений в Windows 10, выполните следующие действия.

Примените настройку реестра, указанную ниже. Вставьте его содержимое в Блокнот и сохраните как файл *.reg.

В Блокноте нажмите Ctrl+S или выполните пункт Файл - Сохранить из меню Файл. Это откроет диалоговое окно Сохранить. Там введите или скопируйте и вставьте имя «Details pane.reg», включая кавычки. Двойные кавычки важны для того, чтобы файл получил расширение «*.reg», а не *.reg.txt. Вы можете сохранить файл в любом нужном месте, например, вы можете поместить его в папку на рабочем столе.

Дважды щелкните созданный файл, подтвердите операцию импорта, и все готово!

Чтобы понять, как работает этот твик, обратитесь к моей предыдущей статье, в которой я объяснил, как добавить любую команду ленты в контекстное меню в Windows 10. См.

Короче говоря, все команды ленты хранятся в этом ключе реестра

Вы можете экспортировать нужную команду и изменить экспортированный файл *.Reg, чтобы добавить его в контекстное меню файлов, папок или любого другого объекта, видимого в проводнике.

Кроме того, вы можете использовать программу настройки контекстного меню. Это позволит вам добавить любую команду ленты в контекстное меню.

Winaero очень рассчитывает на вашу поддержку. Вы можете помочь сайту и дальше предлагать вам интересный и полезный контент и программное обеспечение, используя следующие варианты:

Если вам понравилась эта статья, поделитесь ею с помощью кнопок ниже. Это не потребует от вас многого, но поможет нам расти. Спасибо за вашу поддержку!

Автор: Сергей Ткаченко

Сергей Ткаченко — разработчик программного обеспечения из России, который основал Winaero еще в 2011 году. В этом блоге Сергей пишет обо всем, что связано с Microsoft, Windows и популярным программным обеспечением. Следите за ним в Telegram, Twitter и YouTube. Просмотреть все сообщения Сергея Ткаченко

Оставить ответ Отменить ответ

Свяжитесь с нами

Здесь вы можете подписаться на наши каналы. У нас есть Twitter, YouTube и Telegram, а также RSS-канал и информационный бюллетень по электронной почте.

Когда пользователь щелкает правой кнопкой мыши объект оболочки, например файл, оболочка отображает контекстное (контекстное) меню. Это меню содержит список команд, которые пользователь может выбрать для выполнения различных действий с элементом. Эти команды также известны как элементы контекстного меню или глаголы. Контекстные меню можно настраивать.

Эта тема организована следующим образом:

Введение в контекстные меню для объектов файловой системы

Поскольку для управления файлами часто используются контекстные меню, командная консоль предоставляет набор команд по умолчанию, таких как «Вырезать» и «Копировать», которые отображаются в контекстном меню для любого объекта файловой системы, например файла или папки.

В следующем примере показано контекстное меню по умолчанию, которое отображается при щелчке правой кнопкой мыши MyFile.xyz-ms.

Причина появления контекстного меню по умолчанию для MyFile.xyz-ms связана с тем, что .xyz-ms не относится к зарегистрированному типу файлов. Напротив, .txt — это зарегистрированный тип файла. Если щелкнуть файл .txt правой кнопкой мыши, вы увидите контекстное меню с тремя дополнительными командами в его верхней части: «Печать», «Редактировать» и «Открыть с помощью».

Чтобы расширить контекстное меню для типа файла, необходимо создать запись реестра для каждой команды. Более сложный подход заключается в реализации обработчика контекстного меню (глагола), который позволяет расширять контекстное меню для типа файла для каждого файла отдельно. Дополнительные сведения см. в разделах Создание обработчиков контекстного меню и Справочник по контекстному меню.

Добавить команды в контекстное меню

Обработчик контекстного меню — это обработчик типа файла, добавляющий команды в существующее контекстное меню. Обработчики контекстного меню связаны с типом файла и вызываются всякий раз, когда контекстное меню отображается для члена класса. Оболочка проверяет реестр, чтобы узнать, связан ли тип файла с какими-либо обработчиками контекстного меню. Если это так, командная консоль запрашивает у обработчиков дополнительные элементы контекстного меню.

Глаголы контекстного меню

Каждая команда в контекстном меню определяется в реестре своим глаголом. Эти глаголы аналогичны тем, которые используются ShellExecuteEx при программном запуске приложений.

Глагол — это простая текстовая строка, которая используется оболочкой Shell для идентификации связанной команды. Каждая команда соответствует командной строке, используемой для запуска команды в окне консоли или пакетном (.bat) файле.

Например, глагол open обычно запускает программу для открытия файла. Командная строка обычно выглядит следующим образом:

Если какой-либо элемент командной строки содержит или может содержать пробелы, он должен быть заключен в кавычки. В противном случае, если элемент содержит пробел, он не будет правильно проанализирован. Например, «My Program.exe» правильно запускает приложение. Если вы используете My Program.exe без кавычек, то система попытается запустить My с Program.exe в качестве первого аргумента командной строки. Вы должны всегда использовать кавычки с такими аргументами, как "%1", которые преобразуются оболочкой в ​​строки, потому что вы не можете быть уверены, что строка не будет содержать пробел.

Глаголы также могут иметь связанное с ними отображаемое имя, которое отображается в контекстном меню вместо самой строки глагола. Например, отображаемая строка для openas — «Открыть с помощью». Как и в обычных строках меню, включение символа амперсанда в отображаемую строку позволяет выбирать команду с клавиатуры.

Потоковая передача элементов, не относящихся к файловой системе, и результатов OpenSearch.

В Windows 7 и более поздних версиях есть поддержка подключения внешних источников к Windows Client по протоколу OpenSearch. Это позволяет пользователям выполнять поиск в удаленном хранилище данных и просматривать результаты в проводнике Windows. Стандарт OpenSearch версии 1.1 определяет простые форматы файлов, которые можно использовать для описания того, как клиент должен запрашивать у веб-службы хранилище данных и как служба должна возвращать результаты, которые должны быть отображены клиентом.

Возможно, вам потребуется передавать в потоковом режиме элементы, не относящиеся к файловой системе, чтобы избежать необходимости загружать элементы в случае результатов OpenSearch. Функция федеративного поиска позволяет выполнять поиск элементов из местоположений вне файловой системы, которые поддерживают OpenSearch, таких как, например, SharePoint и другие сайты, поддерживаемые веб-службами. При вызове глаголов для этих элементов система загружает временную версию элемента и передает ее реализации глагола. Разработчикам глагола рекомендуется избегать необходимости загружать файл, регистрируя набор схем URL-адресов, которые глагол поддерживает для потоковой передачи элементов. Глаголы делают это с помощью раздела реестра SupportedProtocols.

Зарегистрируйте приложение для обработки произвольных типов файлов

Определение элементов контекстного меню для определенного типа файла позволяет вам указать, как связанное приложение открывает член этого типа файла. Однако приложения также могут зарегистрировать отдельную процедуру по умолчанию, которая будет использоваться, когда пользователь пытается использовать приложение для открытия типа файла, не связанного с приложением.Вы регистрируете процедуру по умолчанию во многом так же, как вы регистрируете элементы контекстного меню. Дополнительные сведения об определении элементов контекстного меню см. в разделе Создание обработчиков контекстного меню.

Процедура по умолчанию служит двум основным целям. Один из них — указать, как ваше приложение должно вызываться для открытия файла произвольного типа. Например, вы можете использовать флаг командной строки, чтобы указать, что открывается файл неизвестного типа. Другая цель состоит в том, чтобы определить различные характеристики типа файла, такие как элементы контекстного меню и значок. Если пользователь связывает ваше приложение с дополнительным типом файла, этот класс будет иметь эти характеристики. Если дополнительный тип файла ранее был связан с другим приложением, эти характеристики заменят исходные.

Чтобы зарегистрировать процедуру по умолчанию, поместите те же ключи реестра, которые вы создали для идентификатора ProgID вашего приложения, в подраздел приложения HKEY_CLASSES_ROOT\Applications. Вы также можете включить значение FriendlyAppName, чтобы предоставить системе понятное имя для вашего приложения. Понятное имя приложения также может быть извлечено из его исполняемого файла, но только в том случае, если значение FriendlyAppName отсутствует.

Читайте также: