![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
КОНТЕКСТНОЕ МЕНЮ!!!
Onyx © (2003-08-08 13:08:00)
Привет мастерам! У меня следующий вопрос: Есть контекстное меню. Надо сделать так, чтобы обработчики левой и правой кнопок мыши были разными. Т.е кликаешь левую кнопку на пункте меню - исполняется какая-либо команда, кликаешь правую - на выбранном пункте меню устанавливается флажок (Checked:=true), причем при клике на правой кнопке мыши меню не должно исчезать. Вот такой вот вопрос. Кто знает, подскажите. Заранее спасибо.
Onyx (2003-08-08 14:48:00) [1]
А теперь следующий вопрос: как на Delphi реализовать обработку этого сообщения? Примерчик приведите, пожалуйста. Хотя бы кратенький.
Игорь Шевченко (2003-08-08 14:39:00) [2]
Посылает. WM_CONTEXTMENU сообщение называется
Onyx (2003-08-08 14:36:00) [3]
Так какое же сообщение посылает система моей программе во время правого клика?
Onyx (2003-08-08 14:30:00) [4]
Ну хорошо возможно таких API и нет. Тогда кто ответит на следующий вопрос я показываю контекстное меню с помощью ф-ции TrackPopupMenuEx() причем использую спец. флажок, к-й позволяет выбирать пункт меню только по нажатию левой кнопки мыши, т.о. когда я кликаю правой кнопкой по пункту меню - ничего не происходит. Но во время правого клика система по-любому посылает какое-то сообщение моей программе(какое? - не знаю). Так вот к чему это я, а к тому что в обработчике данного сообщения можно записать код, реализующий обработку правого клика мыши.
Rouse_ (2003-08-08 14:14:00) [5]
Тут на сайте есть статья про пользовательские интерфейсы, что-то про примочки или фенечки, короче про ошибки разработчиков при создании нестандартных интерфейсов пользователя.
Занимательное, скажу, чтиво, советую...
Желаю успехов
Игорь Шевченко (2003-08-08 14:07:00) [6]
А никак. Пользоваться тем поведением, которое имеет контекстное меню. Нет таких API
Onyx (2003-08-08 14:00:00) [7]
А всё-таки, как быть с контекстным меню?
Игорь Шевченко (2003-08-08 13:57:00) [8]
> чтобы я вместо контекстного меню показывал форму похожую
> на контекстное меню
Именно
Onyx (2003-08-08 13:56:00) [9]
Объясни пожалуйста panov, что ты имеешь в виду под "Создай окно с пунктами меню", ты хочешь сказать чтобы я вместо контекстного меню показывал форму похожую на контекстное меню. Если я не прав, то исправь меня.
panov (2003-08-08 13:39:00) [10]
Создай окно с пунктами меню. А сни ты сможешь делать все, что захочешь.
Onyx (2003-08-08 13:34:00) [11]
А что разве стандартными API нельзя решить этот вопрос. Обработчик левой кнопки мыши - это я знаю. Вся загвоздка состоит в обработчике правой кнопки (сделать надо именно так, как я написал в вопросе).
panov (2003-08-08 13:28:00) [12]
А что так кричать-то...
Игорь Шевченко (2003-08-08 13:11:00) [13]
1) Написать свой аналог меню
2) Не мучить пользователей