Автор
|
Тема: Меню Popup
|
Kostik |
опубликован 03-10-2001 12:25 MSK
Доброго денёчка всем.Стою курсором в CEdit. Жму на правую кнопку мыши и появляется Popup меню. Как мне его поймать, чтобы вставить свои пункты или подсунуть свои функции вместо существующих. Где-то я про это слышал, но ...
|
necer
|
опубликован 03-10-2001 12:41 MSK
Надо создать класс, производный от CEdit, в нем переопределить обработчик ON_WM_CONTEXTMENU и делать в нем все, что хочется. |
Kostik
|
опубликован 03-10-2001 12:51 MSK
На пять баллов. |
Kostik
|
опубликован 03-10-2001 13:43 MSK
В CComboBox тоже решил обработать это сообщение, но оно туда не пришло. ПОЧЕМУ ? |
migel
|
опубликован 03-10-2001 14:13 MSK
Потому что нвдо субклассит контрол (едит ) самого комбо бокса как сдкалть см в MSDN. |
necer
|
опубликован 03-10-2001 14:15 MSK
А в комбо такое событие не возникает (насколько помню). Можно попробовать сгенерировать его исскуственно, по WM_RBUTTONUP, а еще лучше, цепляться прямо на этот обработчик. Кстати, у CTreeCtrl то же самое. Вообще, есть такая полезная утилитка Spy... :) |
Kostik
|
опубликован 03-10-2001 14:32 MSK
WM_RBUTTONUP тоже не доходит. Один чёрт я его в PreTranslateMessage(MSG* pMsg)ловлю. Я кстати тоже на подклашенный CEdit грешил. |
migel
|
опубликован 03-10-2001 17:09 MSK
Все приходит если комбо с едитом - т.е не создан со стилем CBS_DROPDOWNLIST ловить надо в субкласснутом едите, для самого комбо бокса тож приходит
|