none
关于CRichEditCtrl的派生类无法响应EN_VSCROLL消息的问题 RRS feed

  • 问题

  • 我有一个类CMyRichEdit继承CRichEditCtrl,用向导添加了EN_VSCROLL的响应消息

    ON_CONTROL_REFLECT(EN_VSCROLL, OnVscroll)

    但是运行程序时,当我滚动鼠标滚轮时,这个消息根本就没响应,谁知道这是为什么?

    2011年7月24日 7:20

答案

  • 恩,谢谢你的回答,你说的这个事件我在这之前已经加过了,但这个不会响应鼠标的滚轮事件,其实只要在控件初始化里加一句SetEventMask(ENM_SCROLL);就可以响应我的那个事件了。

    • 已标记为答案 cjalchange 2011年10月26日 14:06
    2011年7月25日 6:26

全部回复

  • 您可以直接在CRichEditCtrl的派生类添加处理WM_VSCROLL事件
    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    2011年7月25日 1:11
    版主
  • 恩,谢谢你的回答,你说的这个事件我在这之前已经加过了,但这个不会响应鼠标的滚轮事件,其实只要在控件初始化里加一句SetEventMask(ENM_SCROLL);就可以响应我的那个事件了。

    • 已标记为答案 cjalchange 2011年10月26日 14:06
    2011年7月25日 6:26
  • 恩,谢谢你的回答,你说的这个事件我在这之前已经加过了,但这个不会响应鼠标的滚轮事件,其实只要在控件初始化里加一句SetEventMask(ENM_SCROLL);就可以响应我的那个事件了。

    谢谢楼上的分享,

    不过新问题又来了:

    当nMax<nPage; 然后nMax不断增加,直到nMax>nPage,EN_VSCROLL这个消息会被触发。(CRichEditCtrl中输入内容,EN_VSCROLL消息正常触发。)

    当nMax>nPage; 然后nMax不断减少,直到nMax<nPage, EN_VSCROLL这个消息就不会被触发了。(CRichEditCtrl删除内容,EN_VSCROLL消息不会被触发。)

    不知道怎么回事,,

    2013年1月16日 6:30