Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Завтра :

День славянской письменности и культуры


Руки - крюки
На страницу 1, 2  След.

Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеСб, 14-Май-2005 8:43    Заголовок сообщения: Руки - крюки
Цитата

Вопрос такой. Как обработать нажатие правой клавиши мышки на MainMenu. При это нужно из пункта в меню (на котором было произведено нажатие) взять значения некоторых свойств.
У меню есть подпункты.

_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж NikotiN
Розовый мамонт


Возраст: 26
Знак зодиака: Овен
Зарегистрирован: 18.03.2005
Сообщения: 2137

СообщениеСб, 14-Май-2005 17:35 
Цитата

обрабатывать сообщения WM_правая_кнопка_мыша?
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеСб, 14-Май-2005 19:37 
Цитата

А где обрабатывать? В форме?
Это ты знаешь или предполагаешь?

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Пол:Муж NikotiN
Розовый мамонт


Возраст: 26
Знак зодиака: Овен
Зарегистрирован: 18.03.2005
Сообщения: 2137

СообщениеСб, 14-Май-2005 20:04 
Цитата

и то и то :)
ведь если нажата правая кнопка на меню, значит сообщение WM_ послано, остальное дело практики. :) вернее времени, ведь надо найти кому оно послано, и где можно перехватывать. :-)
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеВс, 15-Май-2005 1:23 
Цитата

Да, логично.

Но меню - системный объект. Так же, как Edit, ComboBox. Только у контролов есть хэндл окна и оконная функция для обработки "своих" сообщений. А меню, насколько помню, имеет свой, "неоконный" хэндл. Насколько я понимаю, меню обрабатывает все сообщения мыши само и до приложение доходит только конечный WM_Command.

Посуди сам, если от меню будет идти сообщение мыши, какие координаты в нём должны быть указаны? Ну, в принципе есть неклиентская область. Ну допустим, пришли координаты. Но как по координатам можно узнать пункт меню? Оно ведь не имеет HWnd.

Такие вот рассуждения...

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеПн, 16-Май-2005 1:15 
Цитата

Чтож - похоже дела хреновы. Жаль, что у события onClick об. Меню нет параметра типа Tshift
_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеВт, 17-Май-2005 3:58 
Цитата

Цитата:
Жаль, что у события onClick об. Меню нет параметра типа Tshift

Даже если бы оно было, тебе это не помогло. Проверь сам - меню не реагирует на нажатие правой клавиши мыши.

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Пол:Муж Ktf
Администратор


Возраст: 32
Знак зодиака: Рак
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
СообщениеВт, 17-Май-2005 5:09 
Цитата

Цитата:
Проверь сам - меню не реагирует на нажатие правой клавиши мыши.


Да? :)
А как насчет константы TPM_RIGHTBUTTON, которую можно указать среди флагов при вызове TrackPopupMenu(Ex)?

Кстати, сам MS в том же ослике никаких таких MAINMENU не использует. Там стоит объект класса ToolbarWindow32(для VCL это TToolBar) с кнопками и при нажатии на любую их них вызывается POPUPMENU функцией TrackPopupMenu(Ex).
При этом, если зайти в пункт Избранное и нажать правой кнопкой мыши на какой-либо ссылке, вызовется еще одно POPUPMENU с использованием той же функции! :)

Кто нам мешает делать так же? :)
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеВт, 17-Май-2005 6:12 
Цитата

to Ktf: Что же ты молчал до сих пор ? :)

Цитата:
Кто нам мешает делать так же?

Лично я о всём этом не знал.

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Пол:Муж Ktf
Администратор


Возраст: 32
Знак зодиака: Рак
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
СообщениеВт, 17-Май-2005 13:18 
Цитата

Цитата:
как по координатам можно узнать пункт меню?


есть функция MenuItemFromPoint
осталось только вызвать ее в нужном месте :)

_________________
Пойду посплю перед сном.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеСр, 18-Май-2005 0:49 
Цитата

Цитата:
константы TPM_RIGHTBUTTON

Что-то я не понял, куда ты ее засунешь при использовании МейнМеню. У него нет обработчика для нажатия правой клавиши мыши. А это Tshift.... я спутал с другим типом. Так что беру свои слова обратно.
з.ы. Вместо МейнМеню использую Дерево. Там это все удалось реализовать.

_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Ktf
Администратор


Возраст: 32
Знак зодиака: Рак
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
СообщениеПт, 20-Май-2005 9:37 
Цитата

Цитата:
Вместо МейнМеню использую Дерево.


И как же тебе удалось его туда запендюрить? :)

_________________
Пойду посплю перед сном.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеПн, 23-Май-2005 1:19 
Цитата

Цитата:
И как же тебе удалось его туда запендюрить?

Туда это куда и что?

_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Ktf
Администратор


Возраст: 32
Знак зодиака: Рак
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
СообщениеПн, 23-Май-2005 11:44 
Цитата

Дерево на место мейнменю
_________________
Пойду посплю перед сном.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеВт, 24-Май-2005 1:53 
Цитата

Ну, то, что я хотел сделать с мейн меню, я сделал с деревом.
_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Страница 1 из 2 На страницу 1, 2  След.
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100