Как добавить в контекстное меню новые пункты

Содержание

Добавление пункта в контекстное меню всех типов файлов

Добавить в контекстное меню запуск программы с обычными правами очень просто, и я покажу это на примере блокнота.

Ручная правка реестра

Пункт меню добавляется за три шага.

  1. Перейдите в раздел реестра
    HKEY_CLASSES_ROOT\*\shell

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

  2. Создайте подраздел с любым именем, например, Editor, а в нем создайте строковые параметры:
  • Параметр MUIVerb (обязательный) отвечает за название пункта меню, поэтому значение можете выбирать любое. Я назвал свое Открыть в Блокноте.
  • Параметр Icon (необязательный) задает значок для пункта меню. Можно задать путь к библиотеке (dll) и номер ресурса (значка), либо полный путь к исполняемому файлу (если он в системной папке, достаточно указать только имя). Для своего пункта я задал стандартный значок notepad.exe.
  • Параметр Position (необязательный) отвечает за расположение пункта в контекстном меню. Вы можете задать ему значение Top (самый первый пункт меню) или Bottom (внизу меню). Если значение не задавать, пункт окажется в верхней части меню, после стандартных пунктов «Открыть», «Печать» и т.д.

Параметр Extended (необязательный) отвечает за отображение пункта в меню. Когда параметр присутствует, чтобы увидеть созданный пункт, нужно вызывать контекстное меню, удерживая нажатой клавишей SHIFT. Этому параметру не требуются значения.

В разделе Editor создайте подраздел command, а в нем дважды щелкните параметр (По умолчанию) и задайте значение

notepad.exe %1

Если вы прописываете сторонний редактор, укажите полный путь к нему. Например:

C:\Program Files\Notepad++\notepad++.exe %1

В реестре это выглядит примерно так:

REG-файл

Вы можете приведенный ниже REG-файл, предварительно внеся в него необходимые правки.

Windows Registry Editor Version 5.00


"MUIVerb"="Открыть в Блокноте"
"Icon"="notepad.exe"
;"Position"="Bottom"
;"Extended"=""


;Блокнот
@="notepad.exe %1"
;Notepad++
; @="C:\\Program Files\\Notepad++\\notepad++.exe %1"

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

Описание формата внутреннего представления данных 1С в контексте обмена данными

JS:

let contextMenu = document.querySelectorAll(‘.context-menu’);
let contextMenuOpen = document.querySelector(‘.context-menu-open’);
for (let i = 0; i < contextMenu.length; i++){
contextMenu.addEventListener(‘contextmenu’, function(e) {
e.preventDefault();
contextMenuOpen.style.left = e.clientX + ‘px’;
contextMenuOpen.style.top = e.clientY + ‘px’;
contextMenuOpen.style.display = ‘block’;
});
}
window.addEventListener(‘click’, function() {
contextMenuOpen.style.display = ‘none’;
});

1
2
3
4
5
6
7
8
9
10
11
12
13

let contextMenu=document.querySelectorAll(‘.context-menu’);

let contextMenuOpen=document.querySelector(‘.context-menu-open’);

for(leti=;i<contextMenu.length;i++){

contextMenui.addEventListener(‘contextmenu’,function(e){

e.preventDefault();

contextMenuOpen.style.left=e.clientX+’px’;

contextMenuOpen.style.top=e.clientY+’px’;

contextMenuOpen.style.display=’block’;

});

}

window.addEventListener(‘click’,function(){

contextMenuOpen.style.display=’none’;

});

Долго открывается контекстное меню или Меню Пуск?

Так понимаю, что данную статью Вы нашли и читаете потому что у Вас довольно долго открывается контекстное меню в операционной системе Windows. А возможно у Вас проблемы с тем, что меню Пуск открывается так же очень долго. Как бы там не было, здесь Вы получите ответы на все эти вопросы. Первым делом мы рассмотрим вопрос как можно ускорить открывание меню Пуск, после чего займемся контекстным меню Windows.

Как ускорить открывание меню Пуск?

Меню Пуск Windows не открывается сразу же, как только Вы его вызовете. По умолчанию установлена задержка в 400 миллисекунд перед его открытием. И если вдруг кого-то раздражает долгое открывание меню Пуск, то я Вас обрадую: данную задержку можно уменьшить. Чтобы уменьшить задержку перед открытием меню Пуск необходимо воспользоваться услугами Редактора реестра. Открыв Редактор(для чего рекомендую воспользоваться командами меню Выполнить), нужно перейти в узел

hkey_Current_User/ControlPanel/Desktop

и найти параметр с именем

Menushowdelay

Если данный параметр не изменялся ранее, то его значение должно быть равным 400. Чтобы вообще убрать задержку, измените значение на 0.

Что делать если контекстное меню долго открывается?

Долгое открытие меню Пуск ничто перед долгим открытием контекстного меню Windows. Честно говоря, я вообще не встречал никого, кто бы жаловался на долгое открытие меню Пуск. Выше приведенный совет, думаю, понадобиться только для любителей апгрейда, а не для тех, кто пришел в Интернет за реальной помощью. А вот долгое открывание контекстного меню файла совсем другое дело. Данная проблема очень даже актуальна в связи с тем, что абсолютное большинство приложений пытаются постоянно напоминать о себе своим пользователям. Почти все приложения автоматически лезут в автозагрузку(как почистить автозагрузку?), пихают свои ярлыки куда ни попадя, а некоторые из них прописываются и в контекстное меню. Иногда, вызов программы из контекстного меню весьма оправдан. Особенно я люблю сканирование антивирусами отдельных файлов, для осуществления которого нужно выполнить всего лишь два клика. Но есть и такие приложения, которые просто занимают лишнее место в контекстном меню. Лично мне не нравятся звуко- и видеоплееры, которые дополнительно прописываются в контекстном меню. Воспроизвести видео- или звуковой файл в определенном плеере можно через меню Открыть с помощью или настроив автоматический запуск определенного формата файла в определенном плеере. Но суть остается такой: весь лишний мусор в контекстном меню — причина долгого открытия контекстного меню Windows. Кроме контекстного меню различный мусор накапливается и на жестком диске, для избавления от которого необходимо использовать утилиту Очистка диска. Это я так, к слову.

Чтобы заново навести порядок в контекстном меню, я рекомендую использовать программу Ccleaner. Произвести уборку средствами Windows так же возможно, но для этого надо использовать Редактор Реестра. Но сложность в таком случае состоит в том, что все параметры разбросаны по Реестру и их поиск становится довольно затруднительной задачей. А вот Ccleaner, если пройти по пути

  1. Сервис.
  2. Автозагрузка.
  3. Контекстное меню

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

CSS:

.context-menu {
border: 4px solid #337AB7;
background: #BFE2FF;
width: 180px;
height: 100px;
display: inline-flex;
text-align: center;
align-items: center;
margin: 20px;
}
.context-menu-open {
display: none;
position: fixed;
z-index: 99999;
top: 0;
left: 0;
box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.54);
background-color: white;
border-radius: 4px;
padding: 4px;
}
.context-menu-open ul {
padding: 0;
margin: 0;
}
.context-menu-open ul li {
cursor: pointer;
list-style: none;
padding: 10px 12px;
margin: 0;
border-bottom: 1px solid #BFE2FF;
}
.context-menu-open ul li:last-child {
border-bottom: 1px solid transparent;
}
.context-menu-open ul li:hover {
background-color: #BFE2FF;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

.context-menu {

border4pxsolid#337AB7;

background#BFE2FF;

width180px;

height100px;

displayinline-flex;

text-aligncenter;

align-itemscenter;

margin20px;

}

.context-menu-open {

displaynone;

positionfixed;

z-index99999;

top;

left;

box-shadow0px2px5px0pxrgba(0,0,0,0.54);

background-colorwhite;

border-radius4px;

padding4px;

}

.context-menu-open ul {

padding;

margin;

}

.context-menu-open ul li {

cursorpointer;

list-stylenone;

padding10px12px;

margin;

border-bottom1pxsolid#BFE2FF;

}

.context-menu-open ul li:last-child {

border-bottom1pxsolidtransparent;

}

.context-menu-open ul li:hover {

background-color#BFE2FF;

}

Создание раскрывающегося меню и добавление в него пунктов

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

  1. В зависимости от того, где вы хотите создать раскрывающееся меню, выберите раздел.
    • для меню «Компьютер» перейдите в раздел:
      HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
    • для меню рабочего стола перейдите в раздел:
      HKEY_CLASSES_ROOT\DesktopBackground\Shell
  2. Щелкните правой кнопкой мыши по разделу shell и выберите пункт Создать – Новый раздел. Имя для раздела можно выбрать любое, но оно обязательно должно быть латинское. Назовите его, например, Menu1. В этом разделе будут созданы следующие строковые параметры.
  3. Параметр MUIVerb (обязательно) отвечает за название раскрывающегося меню, поэтому значение можете выбирать любое. Я назвал свое Система.
  4. Параметр SubCommands (обязательно) содержит список указателей для команд, которые будут выполняться из меню. Названия указателей должны соответствовать названиям подразделов реестра, которые вы создали на шаге 2 в предыдущем разделе статьи. Разделяйте указатели точкой с запятой (;) и перечисляйте их в том порядке, в котором вы хотите видеть пункты в меню. Чтобы вам было проще понять, я приведу свой список:
regedit;taskmgr;devmgmt

Таким образом, у меня в меню будут редактор реестра, диспетчер задач и диспетчер устройств.

Параметр Icon (необязательно) задает значок для раскрывающегося меню. Можно задать путь к библиотеке (dll) и номер ресурса (значка), либо полный путь к исполняемому файлу (если он в системной папке, достаточно указать только имя). Для своего меню «Система» я задал значок imageres.dll,104 (сначала начала имя файла, а через запятую – номер ресурса).
Параметр Position (необязательно) отвечает за расположение раскрывающегося меню в контекстном меню. Вы можете задать ему значение Top (вверху) или Bottom (внизу). Если значение не задавать, раскрывающееся меню окажется в середине контекстного меню. Я расположил свое меню внизу.
Параметр Extended (необязательно) отвечает за отображение пункта в меню. Когда параметр присутствует, чтобы увидеть созданный пункт, нужно вызывать контекстное меню, удерживая нажатой клавишей SHIFT. Этому параметру не требуются значения.

Если вы хотите создать два меню, создайте раздел Menu2 и повторите шаги 3 – 7. Таких меню можно сделать сколько угодно.

Давайте посмотрим, что получилось в реестре.

Кстати, уже все готово! В контекстном меню компьютера появилось раскрывающееся меню «Система» со списком пунктов.

Если вы запутались или у вас что-то не получается, удалите созданные разделы и параметры, а затем импортируйте приведенный ниже REG-файл (он добавляет раскрывающееся меню в контекстное меню компьютера).

Windows Registry Editor Version 5.00


"MUIVerb"="Система"
"SubCommands"="regedit;taskmgr;devmgr"
"Icon"="imageres.dll,104"
"Position"="Bottom"


@="Редактор реестра"
"Icon"="regedit.exe"


@="regedit.exe"


@="Диспетчер задач"
"Icon"="taskmgr.exe"


@="taskmgr.exe"


@="Диспетчер устройств"
"Icon"="devmgr.dll,4"


@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\

00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,6d,00,\

63,00,2e,00,65,00,78,00,65,00,20,00,2f,00,73,00,20,00,25,00,53,00,79,00,73,\
  00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,\

74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,65,00,76,00,6d,00,67,00,6d,00,74,\
  00,2e,00,6d,00,73,00,63,00,00,00

Теперь вы можете увидеть, какая структура должна быть в реестре.

Практика

Сравнение меню и контекстных менюMenus vs. context menus

Избавляемся от хлама в меню

Уборку контекстного меню можно провести вручную через реестр, однако задача эта нетривиальна, поскольку записи разбросаны по разным местам. Кроме того, далеко не всегда легко идентифицировать подходящий ключ реестра. К примеру, драйверы Intel регистрируются через сокращение «igfx». Записи в реестре рассеяны по ветке «HKEY_CLASSES_ROOT» в папках «shell» или «shellex», где содержится папка под названием «ContextMenuHandlers», также включающая в себя отдельные параметры.

Бесплатная утилита составит единый список всех этих строчек реестра. Даже на относительно свежей системе их количество может превышать 250. Чтобы в них не потеряться, после запуска программы записи следует сначала отсортировать. Дело пойдет на лад, если щелкнуть в верхней части окна по строчке «type». Таким образом вы сразу же увидите все возможные записи в реестре, относящиеся, например, к «Context Menu». Но будьте внимательны: вместе с ними утилита отобразит строчки из Windows Shell, к которым лучше не прикасаться.

Сортировку можно провести и по параметру «Company». В этом случае результаты будут располагаться в алфавитном порядке — созданные системой и обозначенные как «Microsoft» записи легко отличить от остальных. Вы можете здесь, к примеру, выделить соответствующий «igfxDTCM Module» и отключить его кликом по красной точке вверху на панели ­меню. После этого запись о (практически бесполезных) графических параметрах драйвера Intel исчезнет из контекстного меню. Однако для применения системой таких настроек необходимо сначала выйти из системы, а затем снова зайти. Как вариант, вы можете через Диспетчер задач отключить «explorer.exe», а затем снова вызвать эту службу.

Комментарии

Создание раздела «Shell»

Если ответвление «shell» отсутствует, то его необходимо создать. Создание любого раздела осуществляется просто – нужно сделать правый клик по объекту, в состав которого необходимо включить новый элемент, и запустить соответствующую команду. Если пользуетесь системным редактором реестра, то она находится в подменю строки «Создать».

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

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

Импорт страницы, экспорт страницыImport Page, Export Page

Импортирует и экспортирует страницы.Imports and exports pages.

КомандаCommand ОписаниеDescription
Импорт страницыImport Page Открывает диалоговое окно Импорт страницы, чтобы вы могли найти и выбрать страницу, которую нужно добавить в панель элементов.Opens the Import Page dialog box so that you can find and select the page you want to add to the Toolbox. Диалоговое окно Импорт страницы представляет собой стандартное диалоговое окно Windows Открыть.The Import Page dialog box is the Windows Open common dialog box.
Экспорт страницыExport Page Открывает диалоговое окно Экспорт страницы, чтобы вы могли выбрать расположение и имя для выбранной страницы, которую нужно экспортировать из панели элементов.Opens the Export Page dialog box so that you can select a location and name for the selected page that you want to export from the Toolbox. Диалоговое окно Экспорт страницы аналогично стандартному диалоговому окну Windows Сохранить.The Export Page dialog box is the same as the Windows Save common dialog box.

Добавление команд

Начнем с перезагрузки компьютерного устройства:

  1. Создаем безымянный раздел внутри объекта «shell» и присваиваем ему понятное наименование, например, «Restart». Впрочем, наименование не обязательно должно состоять из латинских символов, можно ввести и кириллицей. Главное, чтоб не было пробелов. Можно назвать «Перезагрузка».
  2. Переходим как по ступенькам вниз, то есть выделяем новоиспеченный пункт, и повторяем процедуру, но именем теперь будет служить «command». Понятное дело – без кавычек. Все наименования вводятся без кавычек!
  3. Дальше работа будет происходить в правой части приложения. Выделяем там параметр «По умолчанию», нажимаем «Enter» (либо двойной клик) и, в открывшемся диалоге вводим значение «cmd.exe /c shutdown -r -f -t 0». Здесь непосредственной командой является «shutdown» (выключение), а все, что идет после нее – атрибуты, с помощью которых задаются различные параметры. Так, «-r» – именно тот фактор, который заставляет компьютер перезагружаться. Следующий (-f) – насильно закрывает запущенные программы, а «-t 0» – назначает время в секундах, после которого начинает действовать операция перезагрузки. Этот параметр с нулевым значением здесь обязателен, так как иначе таймаут будет составлять 20 секунд.

  1. Снова выделяем на панели переходов элемент «Restart» и вводим значение в параметр «По умолчанию» – текст, который будет отображаться вместо имени раздела, что-нибудь вроде «Перезагрузить Компьютер». Этот шаг можно пропустить, если вас устраивает наименование, которое вы непосредственно присвоили разделу – будет отображаться оно.
  2. Далее нужно создать пустой строковый параметр с именем «Icon». Это тоже не обязательно, но желательно, так как со значком строка будет выглядеть эффектней и ее будет проще находить.
  3. Теперь нужно ввести значение (см. пункт 3). Им здесь будет служить путь к библиотеке иконок (системной или пользовательской) и номер значка в этой библиотеке. Надо знать, что отсчет начинается с нуля, то есть первая иконка в библиотеке будет иметь порядковый номер 0. Соответственно все последующие – на единицу меньше. В директории «System32» имеется библиотека «shell32.dll», а в нем подходящая иконка под №239. Значит, нам нужно ввести путь к файлу, поставить запятую и (без пробела) ввести число 238 – «C:\Windows\System32\shell32.dll,238»

  1. И еще один строковый параметр нужно организовать: имя ему – «Position», значение – «Top». Благодаря этому, строка будет располагаться вверху контекст-меню и будет, так сказать, «всегда под рукой».На этом с перезагрузкой все. Щелкнув правой клавишей по фону Рабочего стола, мы увидим, что в его контекстном меню появилась новая строка, а нажав на нее, мы сможем убедиться, что она работает!

Вызов контекстного меню

Контекстное меню вызывается несколькими способами.

  1. Правый клик мыши на объекте, с которым желаете что-либо
    сделать.
  2. Подведение указателя к объекту (выбор объекта) и нажатие правой кнопки
    на тачпаде.
  3. Выбор объекта и нажатие клавиши «Меню», ежели таковая присутствует на
    вашей клавиатуре. (На ней действительно может быть нарисовано меню и указатель,
    выбирающий команду. Клавиша Win с логотипом Microsoft — не совсем то же самое,
    ибо в GNU/Linux включает полноэкранное меню Gnome Shell в GNOME 3).
  4. Выбор и нажатие комбинации клавиш Ctrl + F10, которые на
    клавиатуре есть наверняка.

После одного из вышеуказанных действий развернётся список команд, доступных
для выбранного объекта в данной ситуации (в данном контексте). Выбираем нужную
обычным способом, кому как удобнее. Список способов прилагается:

  1. левым кликом мыши;
  2. левой кнопкой тачпада;
  3. лёгким стуком подушечки пальца по тачпаду;
  4. клавишами со стрелками и нажатием Enter.

Итак, ещё раз: правый клик или действие-аналог вызывает контекстное меню для
выбранного объекта, но выбор и запуск команды совершается, как всегда, левым
кликом (или его аналогом, естественно).

Обозреватель объектовObject Browser

Работа со схемой запроса Промо

Стандартом взаимодействия с реляционной базой данных стал язык SQL. Приемником SQL в 1С является язык запросов. Язык запросов, также как и SQL, является структурированным. Составляющие структуры запроса отвечают на разные вопросы о том, какие данные требуется получить и какие манипуляции с множествами данных необходимо произвести при получении. В простых случаях текст запроса можно написать вручную, однако в сложных случаях, а также при программном формировании, — лучше воспользоваться объектной моделью запроса и использовать объект «Схема запроса». В статье дается описание объектной модели и особенностей работы с ней, а также приводится решение, упрощающее взаимодействие с объектом «Схема запроса».

1 стартмани

Как нарисовать граф на 1С Промо

Обновление драйвера мыши

Причиной сбоя работы мыши могут быть и устаревшие драйверы. Для устранения проблемы:

  1. зайдите в Диспетчер устройств;
  2. выберите «Мыши и другие указывающие устройства»;
  3. посмотрите, не стоит ли рядом с обозначением мыши красный кружок или желтый треугольник. Их наличие означает проблему;
  4. левой кнопкой мыши дважды кликните по «Иные указывающие устройства» и выберите среди них мышь;
  5. В контекстном меню выберите пункт «Обновить драйвер».
  6. Windows автоматически подберет подходящий вариант.

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

Создание всплывающего или контекстного менюCreate a menu flyout or a context menu

Для создания всплывающего или контекстного меню используется класс MenuFlyout.To create a menu flyout or a context menu, you use the MenuFlyout class. Чтобы задать содержимое меню, необходимо добавить объекты MenuFlyoutItem, MenuFlyoutSubItem, ToggleMenuFlyoutItem, RadioMenuFlyoutItem и MenuFlyoutSeparator в элемент MenuFlyout.You define the contents of the menu by adding MenuFlyoutItem, MenuFlyoutSubItem, ToggleMenuFlyoutItem, RadioMenuFlyoutItem and MenuFlyoutSeparator objects to the MenuFlyout.

Эти объекты предназначены для:These objects are for:

  • MenuFlyoutItem — выполнения немедленного действия;MenuFlyoutItem—Performing an immediate action.
  • MenuFlyoutSubItem — содержания каскадного списка пунктов меню.MenuFlyoutSubItem—Containing a cascading list of menu items.
  • ToggleMenuFlyoutItem — включения или отключения параметра;ToggleMenuFlyoutItem—Switching an option on or off.
  • RadioMenuFlyoutItem — переключения между взаимоисключающими пунктами меню.RadioMenuFlyoutItem—Switching between mutually-exclusive menu items.
  • MenuFlyoutSeparator — визуального разделения элементов меню.MenuFlyoutSeparator—Visually separating menu items.

В этом примере создается MenuFlyout и используется свойство ContextFlyout, доступное для большинства элементов управления, для отображения MenuFlyout в качестве контекстного меню.This example creates a MenuFlyout and uses the ContextFlyout property, a property available to most controls, to show the MenuFlyout as a context menu.

Следующий пример почти идентичен, но вместо использования свойства ContextFlyout для отображения класса MenuFlyout как контекстного меню в нем используется свойство FlyoutBase.ShowAttachedFlyout для его отображения как меню.The next example is nearly identical, but instead of using the ContextFlyout property to show the MenuFlyout class as a context menu, the example uses the FlyoutBase.ShowAttachedFlyout property to show it as a menu.

ИсчезновениеLight dismiss

Элементы управления с исчезновением, такие как меню, контекстные меню и другие всплывающие элементы, захватывают фокус клавиатуры или геймпада внутри промежуточного пользовательского интерфейса, пока не будут закрыты.Light dismiss controls such as menus, context menus, and other flyouts, trap keyboard and gamepad focus inside the transient UI until dismissed. Для предоставления визуальной подсказки по этому поведению элементы управления с исчезновением на Xbox отображают наложение, затемняющее видимость вне области действия пользовательского интерфейса.To provide a visual cue for this behavior, light dismiss controls on Xbox will draw an overlay that dims the visibility of out of scope UI. Это поведение можно изменить с помощью свойства LightDismissOverlayMode.This behavior can be modified with the LightDismissOverlayMode property. По умолчанию во временно отображаемых элементах пользовательского интерфейса наложение с исчезновением используется на Xbox ( автоматически ), но не в других семействах устройств.By default, transient UIs will draw the light dismiss overlay on Xbox ( Auto ) but not other device families. Вы можете принудительно настроить постоянное включение или отключение наложения.You can choose to force the overlay to be always On or always Off.

Как добавить пункт в контекстное меню Рабочего стола?

На мой взгляд, некоторых команд в меню не хватает. Я постоянно делаю снимки с экрана, редактируя их в Paint-е. Его, пункт, и добавлю. Открываем раздел:

HKEY_CLASSES_ROOT\DesktopBackground\shell

И создадим слева под shell новый подраздел (я назвал его Рисовалка), а в нём новый подраздел с именем command:

Теперь в правой части окна изменим значение параметра REG_SZ на путь, указывающий на расположение файла, заключив его в кавычки. Путь легко узнать, посмотрев на Свойства файла. У Paint-а это такой:

Не покидайте реестр и установите необходимые разрешения для созданного раздела слева, выбрав свою учётную запись. На всякий случай, чтобы не было окна с ошибкой. Проверяем само меню – всё на месте:

Создание раскрывающегося меню с несколькими уровнями вложенности

ПереместитьMove

КомандаCommand ОписаниеDescription
ПереместитьMove В зависимости от того, активно ли окно или панель элементов, при выборе команды Переместить выполняется одно из указанных ниже действий.Depending on whether a window or the Toolbox is active when you select the Move command, one of the following actions occurs:- Указатель изменяется на , чтобы можно было переместить активное окно в другое место.- Changes the pointer to a so you can move the active window to another location.- Отображается диалоговое окно Порядок страниц, в котором можно изменить порядок страниц в панели элементов.- Displays the Page Order dialog box where you can change the order of the pages in your Toolbox.Вы можете переместить выбранную страницу влево или вправо от других страниц.You can move the selected page to the left or right of the other pages.

Таблица символов и другие команды

Автоматическое создание контекстного меню

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

Допустим, условие задачи предполагает наличие контекстного меню у элемента формы «ТабличныйДокумент». Решим эту задачу для обычной формы внешней обработки.

Создадим обработку и добавим ей новую форму; На форме создадим элемент с типом «ТаблицаЗначений»; Откроем меню свойств этого элемента (Рис.1); Рис.1 Здесь следует обратить внимание на пункты «АвтоКонтекстноеМеню» и «КонтекстноеМеню». Выключение галочки «АвтоКонтекстноеМеню» позволяет разработчику создать меню, состоящее только из собственных пунктов

Если же флажок активирован, автоматически созданное меню будет располагаться под списком команд, сформированным пользователем

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

В свойствах параметра «КонтекстноеМеню» можно определить типовой список команд, который существует на форме (Рис.2).

Рис.2

В нашем случае мы можем:

  • Связать контекстное меню с командной панелью формы обработки;
  • Вызвать те же действия, которые включены в выпадающий список команды «Действия»;
  • Определить тот же набор пунктов, который реализован в основных действиях формы.

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

  1. Создать командную панель, для которой источником действий будет выступать наше табличное поле;
  2. Снять видимость с этого элемента;
  3. Установить в параметре «КонтекстноеМеню» нашу командную панель.

Решим эту же задачу для управляемых форм. Процесс создания формы и добавление на нее нового реквизита мы отдельно рассматривать не будем

Обратим внимание на тот факт, что не в свойствах поля (Рис.3), не в свойствах реквизита формы, не в свойствах элемента параметра, связанного с контекстным меню нет

Рис.3

Включить контекстное меню можно, если по элементу формы «Реквизит1» кликнуть правой кнопкой мыши (Рис.4). В выпавшем списке выберем пункт «Показать контекстное меню».

Рис.4

После этого дерево элементов формы получит новую ветку (Рис.5)

Рис.5

Теперь рассмотрим процесс заполнения контекстного меню.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий