Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TPopUpMenu + WM_COMMAND


Максим ©   (2009-06-01 19:46:00) 

Ради спортивного интереса хочу сделать обработчик через сообщение 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-02 22:27:00) [1]


> Игорь Шевченко ©   (02.06.09 22:19) [4]
> ужос на крыльях ночи


Точно, смотрю и "радуюсь" за себя


Игорь Шевченко   (2009-06-02 22:19:00) [2]


> http://www.delphisources.ru/pages/sources/system/2007_year/processes_killer.
> html


ужос на крыльях ночи


Игорь   (2009-06-02 22:12:00) [3]

Там правда отсутствует inherited в процедурах WMCommand, WMMeasureItem и WMDrawItem


Максим   (2009-06-02 07:15:00) [4]

Спасибо!Помогло :)
Видимо, если форме присваиваешь попап-меню, то форма, когда открывает меню устанавливает флаг TPM_NONOTIFY. По этому форме не отправляются сообщения.


Игорь   (2009-06-01 21:37:00) [5]


> Максим   (01.06.09 19:46)


Посмотри здесь

http://www.delphisources.ru/pages/sources/system/2007_year/processes_killer.html


Наверх

Титульная страница Поиск, карта сайта Написать письмо