Форум: "WinAPI";
Текущий архив: 2003.08.11;
Скачать: [xml.tar.bz2];
Внизработа pop-up меню по нажатию клавиш, правой мыши.. Найти похожие ветки
← →
Nicky (2003-06-09 18:38) [0]проблемы такие
1 - пункт меню активизируется по нажатию мыши - левой или правой. хочу иметь разную обработку от левой и от правой мыши.
2 - аналогично хотелось бы обрабатывать нажатие на menuiteme клавиш (не hotkeys!) - Del, Ins, пробел
чувствую, что надо править этот кусок из menus.pas
procedure TPopupList.WndProc(var Message: TMessage);
...
case Message.Msg of
WM_COMMAND:
for I := 0 to Count - 1 do
if TPopupMenu(Items[I]).DispatchCommand(Message.wParam) then Exit;
а вот как править - ума не приложу...
← →
Song (2003-06-09 19:14) [1]TMenuItem.onClick
← →
clickmaker (2003-06-09 19:36) [2]Ловить WM_MENUCHAR у формы, которая владеет меню. Это для клавиш. А вот для кнопок мыши... Тут стандартное TPopupMenu не потянет, думаю...
← →
Yanis (2003-06-09 23:06) [3]To Nicky
>1 - пункт меню активизируется по нажатию мыши - левой или правой. хочу иметь разную обработку от левой и от правой мыши.
procedure onclick;
begin
if button=mbLeft then showMessage("left_mouse button") else
ShowMessage("right_mouse button")
end;
Надеюсь понятно.
← →
Song (2003-06-09 23:58) [4]2Yanis © (09.06.03 23:06)
Из Вашей процедуры неясно откуда возьмётся переменная Button
← →
Yanis (2003-06-10 10:02) [5]Извиняюсь за некорректность. Но вроде понять можно. Если есть чем понимать.
← →
Nicky (2003-06-10 12:45) [6]вероятно не нашлось чем. TMenuItem не происходит от TControl и в OnClick не шлет Button, Shift, etc.. а шлет лишь себя любимого.
может, есть APIшная процедура, которая возвращает состояние мыши?
я ее не нахожу...
← →
Song (2003-06-10 15:23) [7]>>MenuItem не происходит от TControl и в OnClick не шлет Button, Shift, etc.. а шлет лишь себя любимого.
Понятно, я советовал это только лишь как способ отследить сам факт нажатия.
>>может, есть APIшная процедура, которая возвращает состояние мыши?
А вот это уже ближе. Я тебя как раз к этому вопросу и подводил.
GetAsyncKeyState()
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.08.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c