Форум: "WinAPI";
Текущий архив: 2003.12.19;
Скачать: [xml.tar.bz2];
ВнизPopupMenu Найти похожие ветки
← →
Narayan (2003-10-25 19:00) [0]Как отловить выбор пункта PopupMenu ?
Тобишь для MainMenu надо обрабатывать WM_COMMAND,
а для PopupMenu ?
← →
Игорь Шевченко (2003-10-25 21:40) [1]То же самое, WM_COMMAND
← →
Narayan (2003-10-25 22:46) [2]2 Игорь Шевченко
Нет. Вообще в эту процедуру не заходит.
procedure WMCommand(var Msg: TWMCommand); message WM_COMMAND;
← →
Kallega (2003-10-26 11:14) [3]У меня похожая проблема: надо запретить нажатие правой кнопки на комбобоксе. Но
procedure TfrmMain.WMRBUTTONDOWN(var Msg: TMessage)
срабатывает только при нажатии кнопки, когда курсор находится на форме. (KeyPreview=False)
Если кликаать по комбобоксу, то вызывается контекстное меню Windows (Вырезать, Копировать, Вставить...)
Как же его запретить???
← →
Nick Denry (2003-10-26 15:59) [4]2>Kallega
SubClassing твой спаситель
← →
Игорь Шевченко (2003-10-26 21:30) [5]Narayan © (25.10.03 22:46)
Ты мне предлагаешь на основе этих скудных сведений диагностировать ситуацию ?
← →
Narayan (2003-10-27 01:34) [6]Пока писал доп. сведения для подумал вот что.
MainMenu - оно для формы, а PopupMenu у меня для ListView.
Получается сообщение WM_COMMAND приходит ListView.
А процедура описана для формы. Или я ничего не понимаю.
Что скажете.
2 Игорь Шевченко
Дополнительные сведенья:
Описаваю процедуру
...
private
procedure WMCommand(var Msg: TWMCommand); message WM_COMMAND;
...
procedure TForm1.WMCommand(var Msg: TWMCommand);
begin
...
// тело процедуры
...
inherited;
end;
Выставаляю брэйкпоинт в теле процедуры. Запуск.
Наблюдаю вот что:
При выборе пункта из MainMenu всё шоколадно, заходим в процедуру, выполняем нужные действия. При выборе пункта из PopupMenu ничего не происходит. В процедуру мы не попадаем.
← →
Guerrillero (2003-10-27 01:56) [7]WM_Command посылается окну, чей хэндл указан в предпоследнем параметре TrackPopUpMenu(Ex)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.12.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c