VC++ ScrollBar控件的使用方法

24 篇文章 1 订阅

1、在对话框中拖入CScrollBar控件,并修改ID,
2、示例一:

void CTestScrollBarDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
 // TODO: 在此添加消息处理程序代码和/或调用默认值
 int TempPos = pScrollBar->GetScrollPos();
 switch(nSBCode)
 {
 case SB_THUMBPOSITION://拖动滑块
  pScrollBar->SetScrollPos(nPos);
  break;
 case SB_LINELEFT://点击左边的箭头
  if(TempPos > 1)
  {
   TempPos--;
  }
  pScrollBar->SetScrollPos(TempPos);
  break;
 case SB_LINERIGHT://点击右边的箭头
  if(TempPos<100)
  {
   TempPos++;
  }
  pScrollBar->SetScrollPos(TempPos);
  break;
 } 
 CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

 示例二:

void CBackLightAppDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
 // TODO: Add your message handler code here and/or call default

 DWORD bright = 50;

 if(pScrollBar->GetDlgCtrlID() == IDC_SLIDER1)
 {
  CSliderCtrl *pSlider = (CSliderCtrl *) GetDlgItem(IDC_SLIDER1);
  value=pSlider->GetPos();
 }

 switch (value)
 {
 case 1 :
  bright = 10;
  ChangeREG(bright);
  break;
 case 2 :
  bright = 30;
  ChangeREG(bright);
  break;
 case 3 :
  bright = 50;
  ChangeREG(bright);
  break;
 case 4 :
  bright = 75;
  ChangeREG(bright);
  break;
 case 5:
  bright = 100;
  ChangeREG(bright);
  break;
 default :

  ChangeREG(bright);
  break;

 }

 CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

nSBCode:代表滚动方向。

nSBCode
表名用户滚动需求的代码,参数是以下的几种之一:
SB_LEFT   滚动到左边
SB_ENDSCROLL   滚动到末尾
SB_LINELEFT   向左滚动
SB_LINERIGHT   向右滚动
SB_PAGELEFT   向左滚动一页
SB_PAGERIGHT   向右滚动一页
SB_RIGHT   滚动到右边
SB_THUMBPOSITION   到绝对位置,位置参数由nPos确定
SB_THUMBTRACK   拖动滚动条到自定义位置,位置参数由nPos定义


nPos:如果nSBCode 为:SB_THUMBPOSITION or SB_THUMBTRACK其中之一,代表滚动条的位置。其他情况未用。
pScrollBar:滚动条窗口包装类指针。如果滚动的消息来自滚动控件,它包含了指向这个控件的指针。如果用户单击一个窗口的滚动条,这个参数为空。这个指针可能是临时的,所以不要为了以后的使用而存储这个参数。

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

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

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

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

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

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


参考链接:http://msdn.microsoft.com/en-us/library/e14hhbe6(v=vs.90).aspx

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值