У меня есть настраиваемый элемент управления 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
обработчик в панель, он будет вызван.
В чем может быть проблема?