在MFC中如何为滚动条添加消息事件处理程序:onvscroll

在MFC中如何为滚动条添加消息事件处理程序:onvscroll,第1张

滚动条控件的滚动事件是由其父对话框来响应的

所以,直接响应对话框的WM_VSCROLL和WM_HSCROLL消息就可以了

若对话框中有多个滚动条,则可以用WM_VSCROLL和WM_HSCROLL消息响应函数中的参数CScrollBar*

pScrollBar来进行判断

测试了一下,可以使用自定义事件。

    public partial class Form1 : Form

    {

        //定义事件

        public event EventHandler HScrollEvent

        public event EventHandler VScrollEvent

        public Form1()

        {

            InitializeComponent()

            //注册事件

            this.VScrollEvent += delegate

            {

                { this.Text = "纵向滚动了!" }

            }

        }

        protected override void WndProc(ref Message m)

        {

            //在输出窗口自己看对应的数字是多少

            Debug.Print(m.Msg.ToString())

            switch (m.Msg.ToString())

            {

                case "528"://我测试对应垂直滚动

                    //引发事件

                    if (this.VScrollEvent != null)

                        this.VScrollEvent(this, null)

                    break

                case "你自己检测数字":

                    if (this.HScrollEvent != null)

                        this.HScrollEvent(this, null)

                    break

                default:

                    break

            }

            base.WndProc(ref m)

        }

        private void button1_Click(object sender, EventArgs e)

        {

            this.Text = ""//清空便于对比

        }

    }

1、在项目的main.js里注册

// 注册滚动条加载触发事件v-loadmore绑定

Vue.directive('loadmore', {

  bind(el, binding) {

    // 获取element-ui定义好的scroll盒子

    const SELECTWRAP_DOM = el.querySelector(

      '.el-select-dropdown .el-select-dropdown__wrap'

    )

    SELECTWRAP_DOM.addEventListener('scroll', function() {

      const CONDITION = this.scrollHeight - this.scrollTop <= this.clientHeight

      if (CONDITION) {

        binding.value()

      }

    })

  }

})

----------------------------------------------------

v-loadmore: 用于在element-ui的select下拉框加上滚动到底事件监听

scrollHeight 获取元素内容高度(只读)

scrollTop 获取或者设置元素的偏移值,常用于, 计算滚动条的位置, 当一个元素的容器没有产生垂直方向的滚动条, 那它的scrollTop的值默认为0.

clientHeight 读取元素的可见高度(只读)

如果元素滚动到底, 下面等式返回true, 没有则返回false

scrollHeight - scrollTop === clientHeight

2.在需要的下拉地方写方法 如下图:

借鉴于 https://blog.csdn.net/weixin_30498921/article/details/95057744


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11753352.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存