Форум: "Начинающим";
Текущий архив: 2010.08.29;
Скачать: [xml.tar.bz2];
ВнизWM_COMMAND выполняется, но результат <> 0 Найти похожие ветки
← →
И. Павел © (2010-06-07 08:46) [0]Здравствуйте.
Моя программа нажимает на пункт меню в другом приложении, используя такой код:rez := SendMessage(H, WM_COMMAND, WParam(CurMenu), LParam(0));
При этом пункт меню нажимается: происходит связанное с ним действие. Но rez = 1. А в документации сказано:
Return Value
If an application processes this message, it should return zero.
http://msdn.microsoft.com/en-us/library/ms647591(VS.85).aspx
Подскажите, пожалуйста, в чем тут может быть дело? Может быть, нужно как-то по-другому посылать сообщение?
Заранее спасибо.
← →
И. Павел © (2010-06-07 09:33) [1]В блокноте (SDI) - результат WM_COMMAND = 0. А в Winspector (MDI, как и приложение, с которым работаю я) - результат тоже = 1. Может быть, все дело в этом?
← →
oldman © (2010-06-07 09:41) [2]
> А в документации сказано:
> Return Value
> If an application processes this message, it should return
> zero.
Видимо, application not processes this message...
← →
Leonid Troyanovsky © (2010-06-07 09:53) [3]
> И. Павел © (07.06.10 09:33) [1]
Сравни winsight or spy (либо установкой собс-ного хука)
обработку "ручного" выбора меню.
Кста, установка хука, в любом случае, потребуется,
например, для получения уведомления о разрушении
подопытного окна.
--
Regards, LVT.
← →
И. Павел © (2010-06-07 10:46) [4]
> Сравни winsight or spy (либо установкой собс-ного хука)
В SPY ответ от программы на WM_SYSCOMMAND не приходит. От блокнота приходит нулевой.
← →
И. Павел © (2010-06-07 10:47) [5]
> на WM_SYSCOMMAND
на WM_COMMAND
← →
Игорь Шевченко © (2010-06-07 11:30) [6]
> При этом пункт меню нажимается: происходит связанное с ним
> действие. Но rez = 1. А в документации сказано:
> Return Value
> If an application processes this message, it should return
> zero.
Плюнь
← →
Игорь Шевченко © (2010-06-07 11:33) [7]И. Павел © (07.06.10 08:46)
Результат WM_COMMAND никому не интересен, кроме самой программы, DefWindowProc его не обрабатывает по умолчанию и контрол или элемент меню не выполняет какие-то действия в зависимости от результата.
WM_COMMAND - это уведомление о событии пользовательского интерфейса и никакой "стандартной обработки" здесь быть не может.
← →
И. Павел © (2010-06-07 13:05) [8]
> Игорь Шевченко
Спасибо. Отключу проверку результата.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c