Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Добавить в контекстное меню


Автор: fack00 16.5.2009, 19:21
помогите сделать меню, на подобе следующего:
user posted image
только чтобы вместо:
"7-zip" было "мой текст"
"Открыть архив" был "мой текст"
и так далее

гугл помог мне сделать
Цитата
только чтобы вместо:
"7-zip" было "мой текст"

но как сделать еще и вложенные в него пункты (такие как "Открыть архив", "Распаковать" и другие) я не знаю:(
помогите smile 

Автор: Keeper89 16.5.2009, 19:32
fack00, контекстное меню, а не "контекстовое" smile
То, о чем ты говоришь неплохо описано http://www.intbook.info/delphi/Glava31/Index6.html.

Автор: fack00 16.5.2009, 19:47
Читал уже много похожих мануалов, но не могу вкурить что именно требуется smile 
пожалуйста, скиньте готовый код smile 

Автор: Keeper89 16.5.2009, 19:59
http://delphiworld.narod.ru/base/add_ie_menu_item.html - готовый проект.

Автор: fack00 16.5.2009, 20:06
Keeper89, 
видел это тоже, при компиляции ругается на:
Цитата

Classes, ComServ, ComObj, ActiveX, Windows, ShlObj, Interfaces, Menus,

типа отсутствие файла Interfaces.dcu

Автор: kami 16.5.2009, 20:23
Цитата(fack00 @  16.5.2009,  19:47 Найти цитируемый пост)
пожалуйста, скиньте готовый код

сумма не озвучена.


Цитата(fack00 @  16.5.2009,  20:06 Найти цитируемый пост)
типа отсутствие файла Interfaces.dcu

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

Автор: fack00 16.5.2009, 20:31
Цитата(kami @  16.5.2009,  20:23 Найти цитируемый пост)
сумма не озвучена.

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


Цитата(kami @  16.5.2009,  20:23 Найти цитируемый пост)
И что ты сделал по поиску этого файла или по выяснению, насколько он необходим в работе виденного тобой проекта?

1) удалить данную строку - вылазит куча других ошибок.
2) http://www.google.com/search?client=opera&rls=ru&q=%22File+not+found:+'Interfaces.dcu'%22&sourceid=opera&ie=utf-8&oe=utf-8
одна тема - ответа нет.
3) также набрел на это:
http://forum.antichat.ru/showthread.php?p=1194736
но там C++ Builder...

Автор: kami 16.5.2009, 22:20
Вот это уже несколько другой разговор.
По поводу примера, предложенного Keeper89 в http://delphiworld.narod.ru/base/add_ie_menu_item.html.
Я не зря спросил, какие действия ты предпринял.
Показываю, что получилось у меня за 2 минуты работы:
1. скопировал этот код в модуль (к стати - не разбирался особо, в нем написано, что это должен быть код dll, но приведен обычный pas-модуль. В dll нет секций interface и initialization).
2. Закомментировал только Interfaces, в uses, остальное оставил.
3. Попробовал откомпилировать, выдало 2 ошибки (неизвестный идентификатор Class_ContextMenu). Это говорит о том (раз ошибок не много), что закомментированный модуль не так уж и нужен.
4. Ввел в яндексе Class_ContextMenu. Первая же ссылка дала его определение, осталось только вставить в секцию interface код
Код

const 
  Class_ContextMenu: TGUID = '{1A39ADB3-5ED9-44F4-B6BA-5B3D41255033}';


И все прекрасно скомпилировалось.

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

Автор: fack00 18.5.2009, 12:19
наконец-то нашел время продолжить свою разработку..
kami, спасибо, скомпилировал, но:

Цитата(kami @  16.5.2009,  22:20 Найти цитируемый пост)
т.е. соответствием кода поставленной задаче

именно, поставленная задача НЕ выполнена.
Соданная DLL, только лишь добавляет новые пункты в меню, но не делает их вложенными, а обычные пункты гораздо легче добавить через реестр..

Автор: fack00 21.5.2009, 18:51
HELP! smile 
мне подсказали, что разветвленное меню добавлется с помощью компонентся PopupMenu, но я не знаю как его засунуть в данный пример (http://delphiworld.narod.ru/base/add_ie_menu_item.html)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)