`
weihe6666
  • 浏览: 437187 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

滑动动条控件Slider的用法

    博客分类:
  • VC++
 
阅读更多
在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 );


实例:

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

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消息,在响应函数中添加:

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=pSlidCtrl->GetPos();//取得当前位置值
  CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

//m_int 即为当前滑块的值。




当下列情况发生时,SliderCtrl的父窗口都会收到 WM_HSCROLL(水平方向控件) 或者 WM_VSCROLL(竖直方向控件) 通知消息。
<1>. 用鼠标点击滑杆,点击一次收到一条通知消息.
<2>. 按下鼠标拖动滑杆,拖动时会不断收到通知消息.
<3>. 按下方向键,按一次,收到一条通知消息.
<4>. 按下 PageUp , PageDown 键,同上.
<5>. 按下 Home, End 键,同上.

所以实现你所要的功能只需要在父窗口里处理 WM_HSCROLL 或者 WM_VSCROLL消息即可。

假设你的滑杆,编辑框控件ID分别为 IDC_SLIDER1, IDC_EDIT1.

void CScrollBar_TestDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
if( pScrollBar->GetDlgCtrlID() == IDC_SLIDER1 )
{
// nPos就是此时滑杆的位置,显示到 CEdit 就可以了
char temp[30];
sprintf_s(temp, 30, "%d", nPos);

//或者 获取 Slider 当前位置
sprintf_s(temp, 30, "%d", ((CSliderCtrl*)pScrollBar)->GetPos());

GetDlgItem(IDC_EDIT1)->SetWindowText(temp);
}
}

在滑竿上显示特定值坐标标志:
1)设置slider属性:Tick Marks = True
2)调用函数SetTic
        如:m_slider.SetTic(50);就可以在50处显示坐标标志
分享到:
评论

相关推荐

    Slider控件的使用的资源

    本资源主要探讨了在不同环境下的Slider控件的使用方法。 一、Windows应用程序中的Slider控件 在Windows Forms或WPF(Windows Presentation Foundation)应用中,Slider控件通常用于设置音量、亮度、进度等可调节的...

    控件_滚动条控件_滚动条控件_滚动条

    滚动条控件是用户界面设计中的重要组成部分,它在各种应用程序和操作系统中广泛使用,用于在内容超过可视区域时提供导航。滚动条通常分为水平滚动条和垂直滚动条,允许用户通过滑动来查看隐藏在屏幕之外的信息。在这...

    asp.net+js做的slider控件

    在本示例中,"asp.net+js做的slider控件"指的是使用ASP.NET技术结合JavaScript实现的一个滑动条(slider)控件。滑动条是一种常见的用户界面元素,用于让用户在预设的数值范围内进行选择,通常表现为一个可拖动的柄...

    slider控件的美化

    首先,`slider`控件,又称为滑动条或滚动条,通常用于调整数值范围或在一系列选项间进行选择。在Windows编程中,`slider`控件可以通过MFC(Microsoft Foundation Classes)或WinAPI(Windows Application ...

    wpf slider(滑块随时间滑动) 时间轴

    - 在C#中,我们可以使用`Slider`对象的实例方法和属性来操控滑块。例如,`slider.Value = newValue;`用于设置滑块的值。 - 使用`ValueChanged`事件,我们添加事件处理程序,如`slider_ValueChanged(object sender,...

    ASP.NET AJAX控件之Slider

    至于文件"AJAXEnabledWebSite112",这可能是一个示例网站项目,包含了使用ASP.NET AJAX Slider控件的实际代码和配置。通过这个项目,你可以查看和学习如何在实际应用中集成和使用Slider控件。 总的来说,ASP.NET ...

    mfc slider control控件的美化

    首先,我们要了解Slider Control的基本用法。在MFC中,Slider Control对应的类是CSliderCtrl。通过继承此类,我们可以创建自己的滑块控件。基本步骤包括在资源编辑器中添加滑块控件,然后在代码中处理其消息映射,如...

    iOS 自定义滑动分段选择Slider

    在iOS开发中,滑动分段选择控件(Slider)是一种常见的用户界面元素,它允许用户通过滑动来选择一个范围或特定值。本篇将深入探讨如何在iOS应用中自定义滑动分段选择器(Slider),创建出独特且吸引用户的交互体验。...

    iPhone开发【五】常用控件之Slider(不使用xib构建UI)

    本篇我们将深入探讨如何在不使用XIB(Interface Builder)的情况下,纯代码方式构建一个Slider,并了解其工作原理和常见用法。 首先,Slider的基本结构包括两个部分:一个轨道和一个拇指(thumb)。用户可以通过...

    swift-ZPSlider一个双向滑块的Slider

    在Swift开发中,UI相关控件是非常重要的一部分,它们负责与用户进行交互,提供直观的界面元素。系统默认的UISlider虽然功能基础且通用,但有时并不能满足所有设计者的独特需求。ZPSlider的出现就是为了填补这一空白...

    Windows CE 自绘控件2_Slider

    重载后的OnPaint()方法应当清除控件背景,然后绘制每个部分,比如使用不同的颜色填充轨道和滑块。 在描述中提到的"现只用颜色替换",这意味着我们将关注改变控件的颜色属性。这可以通过设置HBRUSH背景刷对象,或者...

    c# 自定义 全方位 滑动 控件

    在WPF中,你可以通过继承现有的控件类,如`UserControl`,并添加自己的属性、方法和事件来创建自定义控件。这通常涉及到重写`OnRender`方法以实现特定的渲染逻辑,或者使用`DependencyProperty`来声明可绑定的属性...

    【滑动块控件CSliderCtrl】控件应用第十五课

    首先,`CSliderCtrl` 是MFC(Microsoft Foundation Classes)库中的一个类,它是Windows API中的`Slider` 控件的包装。这个控件通常用于在指定范围内选择一个值,例如音量控制、进度条等场景。默认情况下,`...

    自定义可点击可滑动的开关控件

    在Android开发中,为了提供独特的用户体验,我们常常需要自定义一些UI控件。"自定义可点击可滑动的开关控件"就是这样一个例子,它允许用户通过点击或滑动来切换开关状态,通常用于开启或关闭某个功能。这篇内容将...

    一个漂亮的基于GridView扩展的Slider 翻页滚动控件源码及例子程序

    在给定的标题“一个漂亮的基于GridView扩展的Slider翻页滚动控件源码及例子程序”中,我们可以理解到这是一个专门针对GridView进行扩展,实现了类似Slider(滑动条)效果的控件,它允许用户通过滑动来浏览和切换页面...

    Slider鼠标点击 滑块移动

    在用户界面设计中,滑块(Slider)是一种常见的控件,用于让用户选择一个范围内的值。当用户点击Slider的任意位置时,滑块应能响应并移动到点击的位置,以提供直观的交互体验。 首先,我们要了解Slider的基本结构。...

    Slider.zip

    在标题“Slider.zip”中,我们可以推断这是一个关于如何使用滑动框控件的示例项目,可能包含了源代码、资源文件以及编译后的可执行文件。这个项目可能展示了如何创建一个滑动框,设置其取值范围(1到100),以及在...

    wpf自定义slider

    为了使图片作为Slider的背景,开发者可能会使用数据绑定将图片源(ImageSource)绑定到Slider的背景属性上,这样图片会随Slider的变化而动态显示。 6. **图像处理** 考虑到图片可能需要适应Slider的长度,开发者...

    slider实时控制图形的方法-check.rar

    如何用slider实时控制某条曲线的某个参数,在控制slider移动的时候就曲线也能实时随动,而不是slider动作结束后再动作,要解决这个方法可以使用Slider ActiceX Control。 但是在使用Slider ActiceX Control的过程中...

    javascript 时间滑动条

    7. **插件或库的使用**:如果需要更复杂的功能或更美观的样式,可以考虑使用现有的JavaScript时间滑动条插件,如noUiSlider或jQuery UI的slider组件,它们提供了丰富的配置选项和预设样式。 在提供的压缩包...

Global site tag (gtag.js) - Google Analytics