Форум: "Начинающим";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
ВнизTPopUpMenu + WM_COMMAND Найти похожие ветки
← →
Максим (2009-06-01 19:46) [0]Ради спортивного интереса хочу сделать обработчик через сообщение WM_COMMAND.
Объявляю метод в TForm3:
procedure WMCommand(var Message: TWMCommand); message WM_Command;
...
procedure TForm3.WMCommand(var Message: TWMCommand);
begin
ShowMessage(" ");
inherited;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
PopUpMenu1:=TPopupMenu.Create(Form3);
mi:=TMenuItem.Create(Form3);
mi.Caption:="123";
PopUpMenu1.Items.Add(mi);
Form3.PopupMenu:=PopUpMenu1;
end;
Но при нажатии на пункт "123" ничего не происходит. Что не так делаю?
Выдержка из спавки по TMenuItem
...
Use Command in an application that directly handles WM_COMMAND messages. When the user selects the menu item, Windows sends a WM_COMMAND to the window associated with the menu. The ItemID of the message contains the value of the Command property of the menu item that was selected.
...
← →
Игорь © (2009-06-01 21:37) [1]
> Максим (01.06.09 19:46)
Посмотри здесь
http://www.delphisources.ru/pages/sources/system/2007_year/processes_killer.html
← →
Максим (2009-06-02 07:15) [2]Спасибо!Помогло :)
Видимо, если форме присваиваешь попап-меню, то форма, когда открывает меню устанавливает флаг TPM_NONOTIFY. По этому форме не отправляются сообщения.
← →
Игорь © (2009-06-02 22:12) [3]Там правда отсутствует inherited в процедурах WMCommand, WMMeasureItem и WMDrawItem
← →
Игорь Шевченко © (2009-06-02 22:19) [4]
> http://www.delphisources.ru/pages/sources/system/2007_year/processes_killer.
> html
ужос на крыльях ночи
← →
Игорь © (2009-06-02 22:27) [5]
> Игорь Шевченко © (02.06.09 22:19) [4]
> ужос на крыльях ночи
Точно, смотрю и "радуюсь" за себя
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c