e
365游戏板您365天开心!

365bet体育在线

当前位置: 主页 > 365bet体育在线 >

MFC实现的滚动条

时间:2020-07-01 03:42来源:原创 作者:admin 点击:
MFC实现滚动条主要分为两个步骤 1、在OnInitDialog()函数中初始化,代码如下: //pScrollBar 为指向滚动条控件的指针 CScrollBar* pScrollBar=(CScrollBar*)GetDlgItem(IDC_SCROLLBAR1); / /设置滚动条的滚动范

  MFC实现滚动条主要分为两个步骤

  1、在OnInitDialog()函数中初始化,代码如下:

  //pScrollBar 为指向滚动条控件的指针

  CScrollBar*

  pScrollBar=(CScrollBar*)GetDlgItem(IDC_SCROLLBAR1);

  /

  /设置滚动条的滚动范围和初始位置

  pScrollBar->SetScrollRange(0,100);

  pScrollBar->SetScrollPos(0);

  2、在OnHScroll()函数中完成对滚动条的处理,代码如下:

  void

  CScrollDemoDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar*

  pScrollBar)

  {

  // TODO: Add your message handler code here

  and/or call default

  //nCurPos为滚动条当前位置

  int nCurPos=pScrollBar->GetScrollPos();

  switch(nSBCode)

  {

  //点击右侧小箭头

  case SB_LINEDOWN:

  nCurPos+=1;

  break;

  更多来源:http://www.jiejuchina.com/question/

  ;//点击左侧小箭头

  case SB_LINEUP:

  nCurPos-=1;

  break;

  //单击滚动条

  case SB_PAGEDOWN:

  nCurPos+=10;

  break;

  //单击滚动条

  case SB_PAGEUP:

  nCurPos-=10;

  break;

  //

  case SB_THUMBTRACK:

  nCurPos=nPos;

  break;

  default:

  break;

  }

  pScrollBar->SetScrollPos(nCurPos);//

  SetDlgItemInt(IDC_EDIT,nCurPos,TRUE);

  }

  注:此处的语句 pScrollBar->SetScrollPos(nCurPos)非常必要,因为经初始化再经运动后,用来指示滚动条的未知的nCurPos已经和滚动条的实际位置不同了,此处改正。

  这个滚动条只实现了部分功能,并未实现在窗口中控制界面滚动的功能,有待实现。

  下面是mfc实现的滚动条的一个小工程

  功能:滚动条初始位置为最左端,文本框初始值为0,且文本框的值随滚动条的移动改变,显示滚动条移动的百分比。

  MFC实现的滚动条

  代码下载地址:http://download.csdn.net/detail/the_chosen_one/3654434

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------