首页 > 编程语言 >VC++ ScrollBar控件的使用方法

VC++ ScrollBar控件的使用方法

时间:2022-12-08 20:02:59浏览次数:41  
标签:pScrollBar 控件 int C++ break bright ScrollBar nPos SB


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;


标签:pScrollBar,控件,int,C++,break,bright,ScrollBar,nPos,SB
From: https://blog.51cto.com/u_6958388/5923304

相关文章

  • C++ pair
    1.头文件pair函数存在于C++标准库#include<utility>中。2.用处他可以创建一个有2个成员的结构体。3.使用方法它的使用方法是:pair<数据类型1,数据类型2>结构体变量......
  • (16) WPF 导航控件
    一、 ​​Frame​​ 二、 ​​Hyperlink​​ 三、 ​​Page​​ 四、​​NavigationWindow​​ 五、​​TabControl​​......
  • (15) WPF 菜单控件
    一、 ​​ContextMenu​​ 二、 ​​Menu​​ 三、​​ToolBar​​......
  • C++图谱
    最新的培训机构培训图谱,可以用于自身知识体系图谱的构建。......
  • 继承与组合 C++(五)
     1.继承如果A是基类,B是A的派生类,那么B将继承A的数据和函数。 C++的“继承”特性可以提高程序的可复用性。正因为“继承”太有用、太容易用,才要防止乱用“继承”。我们应当......
  • C++面试题(四)
     ​待续#include<QCoreApplication>#include<QTextStream>#include<iostream>usingnamespacestd;classString{public:String(constchar*str=NULL);......
  • c++ stl总结
    前言本篇是c++总结系列的stl篇,重点讲解容器,及effectivestl的总结stl原理stl提供六大部件,这六大部件可以彼此搭配工作,这六大部件是:容器。各种数据结构迭代器。扮演容......
  • 如何实现移除控件?
    通过使用触发器中触发行为移除控件实现一个点击按钮移除图片的功能。效果展示:  前置准备:需要移除的组件用于点击触发移除控件的组件(下文简称“触发组件”)......
  • 用pageOffice控件实现 office word文档在线另存为pdf的功能
    用pageOffice控件实现officeword文档在线另存为pdf的功能1应用场景OA办公中,经常要将word文档转存为pdf方法,方式文档的查看。怎么实现word文档的转存为pdf呢?2实现方......
  • Azure DevOps 中自定义控件的开发
    AzureDevOps插件:FieldUniqueControlhttps://github.com/smallidea/azure-devops-extension-custom-control-sample一.概述二.快速开始三.目录结构四.使用......