在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才会被调用成功哒。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)