ShellListView и контекстное меню
Помогите пожалуйста решить следующую проблему:
Если кликнуть по элементу в ShellListView, то отобразится контестное меню для данного типа файла. А как вызвать общее контекстное меню щелчком правой клавишей по пустому месту в ShellListView?
Заранее спасибо.
да, как-то делается, но как не понятно.во многих программах подобную реализацию видел, но они все коммерческие.
если делать самому это меню то как получить список того, что можно создать на этом конкретном компьютере из реестра и каким образом обрабатывать клик по этим динамически созданным итемам?
Страшилка: для этого нужно что-то ну очень ужасное - изучать интерфейсы СОМ (не могу сказать определенно, что это такое и с чем их грызут, могу сказать это что-то очень сложное:-) и придется долго и нудно копаться в Shell32 и иже с ними, их достаточно много, основные из интерфейсов - IShellFolder, IContextMenu, IContextMenu2, IEnumIDList etc.
Свойство ShellListView.Root
З.Ы. Оффтопчик: По-ходу появилось несколько размышлений на тему изобретения лисапета - зачем делать что-то через глючный псевдоинтерфейс Проводника, когда легко и без проблем можно поручить это самому эксплореру, вызывая его на и во время работы (ИМХО)? У шелл-компонентов на вкладке Samples есть несколько крупных недостатков: скорость добавления и обновления (если файлов много, то это очень заметно), они безбожно жрут память - Shell типы при добавлении нового файла или папки заносят в кучу целый класс (wow!!!) - TShellFolder, так что при открытии той же папки Уиндовс слопается достаточно виртуалки, да вдобавок, многие заявленные функции и процедуры у этих компонентов работают через упож. Слишком тернистый путь.