![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обработчик выбора пункта PopupMenu [D7, WinXP]
Prov © (2005-09-07 12:12:00)Доброе время суток, господа. Нарисовал маленькое попап меню.
procedure ShowPopupMenu;
var lpPoint: TPoint;
begin
PopupMenu:= CreatePopupMenu;
AppendMenu(PopupMenu, MF_STRING or MF_GRAYED, 0, 'm e n u');
AppendMenu(PopupMenu, MF_SEPARATOR, 0, '');
AppendMenu(PopupMenu, MF_STRING, 0, 'Пункт меню');
GetCursorPos(lpPoint);
TrackPopupMenu(PopupMenu, TPM_RETURNCMD, lpPoint.X, lpPoint.Y, 0, Handle, nil);
end;
В МСДН написано, что при указании флага TPM_RETURNCMD функция будет возвращать номер выбранного элемента и т.д. Не подскажите ли Вы мне, как забрать результат нажатия левой кнопки мыши на моем меню ? Что-то я сам не могу разобраться. Заранее спасибо )
Prov (2005-09-07 12:35:00) [1]:) так просто. Спасибо большое. Что-то я пропустил этот момент.
ShiFT (2005-09-07 12:21:00) [2]const
miID1 = 1;
miID2 = 2;
.....
AppendMenu(PopupMenu, MF_STRING, miID1, 'Пункт меню 1');
AppendMenu(PopupMenu, MF_STRING, miID2, 'Пункт меню 2');
.....
function WindowProc( wnd : HWND; Msg : Integer; WParam : WParam; LParam : Longint): Longint; stdcall;
.....
case msg of
WM_COMMAND : case LoWord(wParam) of
miID1 : ; //ТутВыполнйТоЧтоТебеНадо
miID2: ; //ТутВыполнйТоЧтоТебеНадо
end;
else
Result := DefWindowProc( wnd, msg, wparam, lparam);
end;
end;