Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.13;
Скачать: CL | DM;

Вниз

КОНТЕКСТНОЕ МЕНЮ!!!   Найти похожие ветки 

 
Onyx   (2003-08-08 13:08) [0]

Привет мастерам! У меня следующий вопрос: Есть контекстное меню. Надо сделать так, чтобы обработчики левой и правой кнопок мыши были разными. Т.е кликаешь левую кнопку на пункте меню - исполняется какая-либо команда, кликаешь правую - на выбранном пункте меню устанавливается флажок (Checked:=true), причем при клике на правой кнопке мыши меню не должно исчезать. Вот такой вот вопрос. Кто знает, подскажите. Заранее спасибо.


 
Игорь Шевченко ©   (2003-08-08 13:11) [1]

1) Написать свой аналог меню
2) Не мучить пользователей


 
panov ©   (2003-08-08 13:28) [2]

А что так кричать-то...


 
Onyx   (2003-08-08 13:34) [3]

А что разве стандартными API нельзя решить этот вопрос. Обработчик левой кнопки мыши - это я знаю. Вся загвоздка состоит в обработчике правой кнопки (сделать надо именно так, как я написал в вопросе).


 
panov ©   (2003-08-08 13:39) [4]

Создай окно с пунктами меню. А сни ты сможешь делать все, что захочешь.


 
Onyx   (2003-08-08 13:56) [5]

Объясни пожалуйста panov, что ты имеешь в виду под "Создай окно с пунктами меню", ты хочешь сказать чтобы я вместо контекстного меню показывал форму похожую на контекстное меню. Если я не прав, то исправь меня.


 
Игорь Шевченко ©   (2003-08-08 13:57) [6]


> чтобы я вместо контекстного меню показывал форму похожую
> на контекстное меню


Именно


 
Onyx   (2003-08-08 14:00) [7]

А всё-таки, как быть с контекстным меню?


 
Игорь Шевченко ©   (2003-08-08 14:07) [8]

А никак. Пользоваться тем поведением, которое имеет контекстное меню. Нет таких API


 
Rouse_ ©   (2003-08-08 14:14) [9]

Тут на сайте есть статья про пользовательские интерфейсы, что-то про примочки или фенечки, короче про ошибки разработчиков при создании нестандартных интерфейсов пользователя.
Занимательное, скажу, чтиво, советую...

Желаю успехов


 
Onyx   (2003-08-08 14:30) [10]

Ну хорошо возможно таких API и нет. Тогда кто ответит на следующий вопрос я показываю контекстное меню с помощью ф-ции TrackPopupMenuEx() причем использую спец. флажок, к-й позволяет выбирать пункт меню только по нажатию левой кнопки мыши, т.о. когда я кликаю правой кнопкой по пункту меню - ничего не происходит. Но во время правого клика система по-любому посылает какое-то сообщение моей программе (какое? - не знаю). Так вот к чему это я, а к тому что в обработчике данного сообщения можно записать код, реализующий обработку правого клика мыши.


 
Onyx   (2003-08-08 14:36) [11]

Так какое же сообщение посылает система моей программе во время правого клика?


 
Игорь Шевченко ©   (2003-08-08 14:39) [12]

Посылает. WM_CONTEXTMENU сообщение называется


 
Onyx   (2003-08-08 14:48) [13]

А теперь следующий вопрос: как на Delphi реализовать обработку этого сообщения? Примерчик приведите, пожалуйста. Хотя бы кратенький.



Страницы: 1 вся ветка

Текущий архив: 2003.10.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
14-40621
Ihor Osov'yak
2003-09-24 21:38
2003.10.13
Умей говорить с подчиненными !


7-40692
Duncan
2003-07-28 15:08
2003.10.13
CreateProcess


1-40379
GH@ST
2003-10-01 12:47
2003.10.13
Как перебрать список всех открытых окон


1-40366
Balkon
2003-10-01 15:28
2003.10.13
Как


3-40239
Alek_1
2003-09-23 01:45
2003.10.13
Как в FireBird подключиться по сети?