【问题标题】:How to catch ScrollToPosition event in a CFormView?如何在 CFormView 中捕获 ScrollToPosition 事件?
【发布时间】:2020-05-31 03:20:36
【问题描述】:

我正在使用OnVScroll 实现垂直滚动机制。
我的对话框中的一些按钮调用ScrollToPosition () 函数。这个函数的特殊之处在于它改变了滚动条的配置而不通知OnVScroll。这让我的工作变得更加复杂。

问题:
如何捕捉ScrollToPosition () 事件?

环境详情:

  • Windows 7
  • 视觉工作室 2010
  • MFC

【问题讨论】:

    标签: c++ mfc vertical-scrolling


    【解决方案1】:

    为什么不重写你的 CFormView 类中的ScrollToPosition 方法?

    void CMyView::ScrollToPosition( POINT pt )
    {
        // Do something
    
        // Call base class
        CFormView::ScrollToPosition( pt );
    }
    

    【讨论】:

    • @AndrewTrukle 谢谢。但我必须在 BEGIN_MESSAGE_MAP 部分添加什么?例如:对于 OnVScroll 我添加 ON_WM_VSCROLL()
    • @Alpha_33 您正在重写一个方法,然后调用基本实现。这不是“消息”,因此您不需要消息映射中的条目。
    • 我添加了它,我不知道为什么会在这个功能上开火
    • 我将尝试隔离问题,因为我有一个非常大的项目
    • 我通过在调用 ScrollToPosition 后添加自定义发送消息找到了解决方案
    猜你喜欢
    • 1970-01-01
    • 2013-12-10
    • 2013-05-10
    • 2012-05-21
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多