У меня есть пользовательский элемент управления WTL, представляющий собой панель со списком и пользовательскую полосу прокрутки.
class Panel
: public ATL::CWindowImpl<Panel>, public WTL::CDoubleBufferImpl<Panel> {
public:
DECLARE_WND_CLASS("Panel")
BEGIN_MSG_MAP_EX(Panel)
MSG_WM_CREATE(OnCreate)
MSG_WM_DESTROY(OnDestroy)
MSG_WM_SIZE(OnSize)
CHAIN_MSG_MAP(CDoubleBufferImpl<Panel>)
REFLECT_NOTIFICATIONS()
END_MSG_MAP()
Полоса прокрутки создается панелью в OnCreate ():
m_scrollBar.Create(m_hWnd, WTL::CRect(...));
Эта полоса прокрутки отлично работает во многих других диалоговых окнах. Однако внутри этой панели управления появляется полоса прокрутки, но она не получает никаких событий мыши. Если я добавлю обработчик WM_MOUSEMOVE
на панель, он будет вызван.
В чем может быть проблема?