Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.13;
Скачать: CL | DM;

Вниз

Как добавить пункт меню в работающее приложение   Найти похожие ветки 

 
foks ©   (2002-04-28 15:33) [0]

Уважемые Мастера помогите разобраться с таким вопросом

Как мне добавить новый пункт меню в открытое приложение Delphi и обработать событие OnClick на нем я делаю так:
appendmenu(getsubmenu(getsubmenu(getmenu(findwindow("TForm1","qwerty")),0),2),MF_STRING,SC_MyMenuItem,"Новый пункт меню");
но данный код у меня работает только для текущего приложения а для другого не работает, т.е. пункт он добавляет, но message не обрабатывает.
Помогите пожалуйста.


 
Song ©   (2002-04-28 16:11) [1]

Нажатие на пункт меню можно отловить через WM_SYSCOMMAND


 
foks ©   (2002-04-29 07:33) [2]

А можно, простенький пример, у меня:
const SC_MyMenuItem = WM_USER+1;

procedure TForm1.WMSysCommand(var Msg:TWMSysCommand);
begin
if Msg.CmType=SC_MyMenuItem then
OnMeMenu else
inherited;
end;

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


 
Song ©   (2002-04-29 09:13) [3]

Не понял... А Вам нужно обрабатывать чужое приложение? Тогда надо хук ставить.


 
foks ©   (2002-04-29 10:47) [4]

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

А как можно этом случае поставить хук.


 
Anatoly Podgoretsky ©   (2002-04-29 10:56) [5]

foks © (29.04.02 10:47)
Что то здесь никак не просматривается второе приложение


 
foks ©   (2002-04-29 13:16) [6]

Извиняюсь, я оказался не совсем прав. Просто я сам эксперементировал с двумя приложениями, а в последнем изречении указал на DLL. Во время проверки я запускал приложение с существующим МЕНЮ. А из второго пытался добавить к нему пункт, но пункт-то добавляется, но OnClick не работает, вот я и начал эту тему с данного вопроса.



Страницы: 1 вся ветка

Текущий архив: 2002.05.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
6-39813
Hewlping
2002-03-01 18:01
2002.05.13
СРОЧНО!!


7-39873
123321
2002-02-16 14:09
2002.05.13
Работа с bat-файлами


3-39657
VAleksey
2002-04-17 09:51
2002.05.13
Еще один (2-а) теоретический вопрос про индексы Paradox.


3-39682
Chainik
2002-04-17 11:02
2002.05.13
компоненты ODAC/DAO для Oracle


14-39843
Леха
2002-04-04 10:31
2002.05.13
Есть такое предложение