1

リストとカスタム スクロール バーを備えたパネルであるカスタム 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パネルにハンドラーを追加すると、それが呼び出されます。

何が問題なのですか?

4

2 に答える 2