Aleksei
|
|
1 | |
Проблема, меню на иконке в трее и клавиатура.17.02.2010, 17:55. Показов 1273. Ответов 4
Метки нет (Все метки)
проблема состоит в следующем:
размещая иконку в трею, по правому клику открываю контекстное меню. далее хотелось перемещаться по пунктам меню с клавиатуры, но - не работает. Закрыть меню клавишей Esc - тоже не работает. Все тольно с мышки Это же меню открываю по правому клику на форме - работает все: и с мыши и с клавиатуры. Помогите, кто может .... |
17.02.2010, 17:55 | |
Ответы с готовыми решениями:
4
Угадать программу по иконке в трее Как послать сообщение WM_Какое-то иконке в трее ? Отреагировать на нажатие по иконке в трее и выполнить действия Как программно послать двойной щелчок мыши иконке в трее? |
Messir
|
|
17.02.2010, 18:45 | 2 |
Дело в том, что в VB это ккоманды обрабатываются контейнером (т.е. формой). А когда оного нету, то естественно, что и никакие клавиатурные команды работать не будут. Поэтому надо использовать менюхи искличительно через API - PopupMenu здесь не помощник...
|
Aleksei
|
|
21.02.2010, 15:33 | 3 |
Да, но форма есть (она скрыта), иконку и меню создаю и вызываю через API
TrackPopupMenu(lngMenu, 2 Or &H100, Pos.X, Pos.Y, -1, Me.hwnd, 0) но результат тот-же Возможно, это связано с описанием иконки в трее: nid.uCallBackMessage = WM_MOUSEMOVE если привязать событие на иконке к WM_KEYDOWN то, по меню можно перемещаться с клавиатуры, но не получается определить какое событие произошло в трее: левый/правый клик, перемещение мыши и т.д. ????? |
51 / 17 / 6
Регистрация: 18.05.2007
Сообщений: 1,322
|
|
21.02.2010, 16:59 | 4 |
Попробуй
nid.uCallBackMessage = WM_MOUSEMOVE Or WM_KEYDOWN
0
|
Aleksei
|
|
21.02.2010, 17:08 | 5 |
Событие на иконке отлавливается, но оно определяется по параметру X,
например, на движение мыши в форме есть параметр X: Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 'Обработка мышиных событий, которые возникают на этой иконке Dim msg As Long msg = X / Screen.TwipsPerPixelX Select Case msg Case WM_LBUTTONDOWN Case WM_LBUTTONUP Case WM_LBUTTONDBLCLK Case WM_RBUTTONDOWN ShowPopUpMenu ' здесь создается и вызывается контекстное меню Case WM_RBUTTONUP Case WM_RBUTTONDBLCLK End Select End Sub на нажатии клавиши в форме такого параметра нет? и как быть я не знаю??? Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) ????? |
21.02.2010, 17:08 | |
21.02.2010, 17:08 | |
Помогаю со студенческими работами здесь
5
Приложение в трее и контекстное меню в трее Меню в трее Меню в трее Проблема с USB в трее Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |