VC控件 滑动条Slider

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

1、设置、取得滑动范围

void SetRange( int nMin, int nMax, BOOL bRedraw = FALSE );
void GetRange( int& nMin, int& nMax ) const;

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

int SetLineSize( int nSize );
int GetLineSize( ) const;


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

int SetPageSize( int nSize );
int GetPageSize( ) const;

4、设置、取得滑块位置

void SetPos( int nPos );
int GetPos( ) const;

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

void SetTicFreq( int nFreq );

6.设置移动滑块时触发的回调事件函数:

选择Slider的“事件”然后选择第一个过程(NM_CUSTOMDRAW)后加入触发的执行代码.

实例:

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

BOOL CLlk_wgDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	/*
		... ...
	*/

	// TODO: Add extra initialization here
	m_slider.SetRange(1,3000);	// 设置滑动范围	(单位:毫秒).
	m_slider.SetTicFreq(300);	// 每10个单位画一刻度.
	m_slider.SetPos(1000);		// 设置默认单消间隔时间为1秒.
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}


填充 触发消息: NM_CUSTOMDRAW 对应的响应函数:

void CLlk_wgDlg::OnCustomdrawSlider1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here

	UpdateData(true);

	float show_time;
	CString pTempInfo;

	show_time=m_slider.GetPos();
	show_time/=1000;

	pTempInfo.Format((" %5.3f 秒"),show_time);	// 浮点数输出5个有效位,其中3个小数位.
	m_TimerShow.SetWindowText(pTempInfo);
	pTempInfo.ReleaseBuffer();
	UpdateData(false);

	*pResult = 0;
}

其中m_TimerShow为一个静态文本框的控件变量,用来显示滑动条所处的位置。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值