Rais Shaikh Ответов: 1

Как отключить колесо мыши для поля со списком в C++ ?


Всем Привет...
Я пытаюсь отключить колесо мыши для поля со списком в C++(MFC).Кто-нибудь может мне помочь?

Что я уже пробовал:

Я попробовал использовать WM_MOUSEWHEEL, но не до конца.

Richard MacCutchan

-не на высоте"
Что это значит?

Philippe Mori

Не очень хорошая идея изменять то, как должны работать элементы управления. Люди будут ненавидеть ваше приложение.

1 Ответов

Рейтинг:
6

Jochen Arndt

Распространенным методом было бы получение вашего собственного класса из элемента управления MFC и обработка сообщения там с помощью PreTranslateMessage (непроверенный):

BOOL CMyComboBox::PreTranslateMessage(MSG* pMsg)
{
    return pMsg->message == WM_MOUSEWHEEL ? TRUE : CComboBox::PreTranslateMessage(pMsg);
}


Rais Shaikh

На этой странице у меня есть Clistctrl также для того, чтобы также отключить колесо мыши. Как сделать его специфичным для CCombobox. Спасибо

Jochen Arndt

Вы должны вывести свой собственный класс combo box (названный CMyComboBox в моем примере) и обработать сообщение там.

Вы также можете обработать его в классе dialog (что, по-видимому, вы и сделали), но затем должны проверить, какой элемент управления является получателем сообщения, и отфильтровать сообщение только тогда, когда оно предназначено для поля со списком.

Rais Shaikh

Огромное спасибо!... Я понял.