Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Системное контекстное меню [D7, Win2k, WinXP]


yaJohn ©   (2006-12-08 11:27:00) 

Есть TPopupMenu. Нужно заполнить его элементами из системного контекстного меню для определённого файла или папки. Особо интересны подпункты SendTo и New. Желательно, конечно, с иконками, но сие уже вторично. И само собой нужно уметь выполнять соответствующие операции.
В JCL есть модуль JclShell, а в нем функция DisplayContextMenu, которая вызывает нужное меню, но мне нужно не показать, а заполнить уже имеющееся TMenu.
Можно переформулировать задачу иначе:
Как заполнить TMenu элементами из имеющегося HMENU с сохранением функциональности?


Rouse_   (2006-12-08 12:59:00) [1]

Только измени пример .
Вот эта строку
ShellContextMenu := CreatePopupMenu;
замени на
ShellContextMenu := MySuperMenu.Handle;


Rouse_   (2006-12-08 12:56:00) [2]

http://rouse.drkb.ru/winapi.php#syspopup


yaJohn   (2006-12-08 12:40:00) [3]

Дело в том, что я разрабатываю как раз расширение оболочки, так что тут сам бог велел :)

> через IContextMenu(2) лучше
Через IContextMenu я могу заполнить HMENU, это работает. А вот как выпотрошить HMENU?


clickmaker   (2006-12-08 12:25:00) [4]


> Это проще, чем связываться с оболочкой и ее меню

не думаю. через IContextMenu(2) лучше


DVM   (2006-12-08 12:19:00) [5]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо