Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.008 c
1-40429
Tumcoat
2003-10-03 04:14
2003.10.13
Как сделать прокрутку формы колесиком?


8-40522
Charly
2003-06-13 23:55
2003.10.13
TBitmap.Scanline


1-40433
romeo
2003-10-03 01:17
2003.10.13
Создание Undo-Redo


1-40460
tria
2003-10-03 11:27
2003.10.13
Как значение типа множество преобразовать в число или строку?


1-40358
ruslan_as
2003-10-01 17:24
2003.10.13
Как заменить в строке поставленные





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский