窗口控件接收鼠标滚轮事件但不接收滚动条事件

时间:2017-05-20 18:06:21

标签: winapi scroll mfc

我有一个对话框(源自CDialog)。

在其中,我有一个窗口控件(CWnd),我在其中显示位图图像。

我希望这个窗口控件可以滚动,所以我按如下方式创建它:

m_Window = CreateEx(0,
                    WC_STATIC,
                    NULL,
                    WS_CHILD|WS_VSCROLL|WS_HSCROLL|SS_BITMAP,
                    {0,0,width,height},
                    this,
                    0);

现在,它接收鼠标滚轮事件,但它没有收到滚动条事件(换句话说,它到达OnMouseWheel处理程序,但它没有到达OnVScrollOnHScroll处理程序)。

我到底错过了什么?

我在创建时尝试在窗口样式中添加SS_NOTIFY标志,但没有运气。

我也尝试过调用EnableScrollBar(SB_BOTH,ESB_ENABLE_BOTH),但也没有运气。

我想到的一点是,WC_STATIC类类型根本没有被指定。

我尝试通过跳转到文件CommCtrl.h中WC_STATIC的定义并搜索其他类类型(将#define WC_放在搜索框中)来寻找更合适的类类型。

但是它们太多了,我甚至不确定它是正确的方向。

有谁熟悉这个问题?

谢谢。

0 个答案:

没有答案