动态添加的slider 怎么响应滑动事件

动态添加的slider 怎么响应滑动事件,第1张

您好,很高兴为您解答。

在MFC中滑动条(CSliderCtrl)是个常用的控件,用法如下:

主要要方法有:

1、设置、取得滑动范围:

1

2

void SetRange( int nMin, int nMax, BOOL bRedraw = FALSE )

void GetRange( int&nMin, int&nMax ) const

2、设置、取得按下左右箭头滑动间隔:

1

2

int SetLineSize( int nSize )

int GetLineSize( ) const

3、设置、取得按下PgUp、PgDown时滑动间隔:

1

2

int SetPageSize( int nSize )

int GetPageSize( ) const

4、设置、取得滑块位置:

1

2

void SetPos( int nPos )

int GetPos( ) const

5、设置滑动条刻度的频度:

1

void SetTicFreq( int nFreq )

实例:

在对话框中放一个Slider控件,添加相应的Ctrl型变量为m_slider。在对话框初始化函数OnInitDialog()中添加:

1

2

3

BOOL CDlgSetup::OnInitDialog() { CDialog::OnInitDialog() // TODO: Add extra initialization here

m_slider.SetRang(0,100)//设置滑动范围

m_slider.SetTicFreq(10)//每10个单位画一刻度 return TRUE // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE}

Slider控件本身并没有响应滑动的消息函数,但可以通过主窗体的OnHScroll()响应。在类向导中为对话框添加WM_HSCROLL消息,在响应函数中添加:

1

2

3

4

5

6

7

void CDlgSetup::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)

{

// TODO: Add your message handler code here and/or call default

CSliderCtrl *pSlidCtrl=(CSliderCtrl*)GetDlgItem(IDC_SLIDER1)

m_int=pSlidCtrlHue->GetPos()//取得当前位置值

CDialog::OnHScroll(nSBCode, nPos, pScrollBar)

}

//m_int 即为当前滑块的值。

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

由于项目是从基于谷歌浏览器改版成基于IE浏览器,所以项目中基本上是以jQuery来控制DOM,其中遇到了使用数组的push和jQuery的html方法来动态生成页面(主要是一个个运单),页面中引用了swiper,再通过循环生成后台数据所反的相对应个数的slider,但是发现在页面载入后,组件并没有生效,后来终于通过一系列搜索找到了解决的方法,也是痴呆了TAT。

<section>标签中就是装的动态生成的内容。

这里是生成所有订单的方法,其中涉及到swiper的push方法在相关图片注释处。

接下来初始化swiper,然后在请求后台数据成功后的回调函数调用fullOrder方法

结果发现swiper根本没有被调用到,默默的mark一下,在图片多的情况下判断swiper是否成功初始化看左右按钮的颜色是否一深一浅就知道了。

正确初始化swiper的方法应该是在fullOrder方法之后或者是在fullOrder里的element.html()之后。由于swiper是需要 先初始化再执行 ,但这里是先生成swiper, 所以需要在生成swiper之后再初始化

只有这样在页面加载完后swiper才会被调用成功哒。


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

原文地址: http://outofmemory.cn/bake/7950897.html

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

发表评论

登录后才能评论

评论列表(0条)

保存