A Slider Control For Range Selection | CodeGuru

A Slider Control For Range Selection

What does it do? This derivation of CSliderCtrl allows the user to use the mouse or the keyboard to select a range in the slider control. The program can then use CSliderCtrl::GetSelection() to retrieve the range selected by the user. This is the way I thought that CSliderCtrl worked in the first place, only to […]

Written By
CodeGuru Staff
CodeGuru Staff
Apr 30, 1999
1 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

What does it do?

This derivation of CSliderCtrl allows the user to use the mouse or the keyboard to select a range in the slider control. The program can then use CSliderCtrl::GetSelection() to retrieve the range selected by the user. This is the way I thought that CSliderCtrl worked in the first place, only to discover that the selection was just a static representation of the values set by CSlider::CtrlSetSelection(). This class corrects this shortcoming of the slider control.

How to use it?

This code was originally compiled and tested with Visual C++ 4.2 and WinNT 4.0 SP4. It should not present any problem when using a more recent version of the compiler.

Be aware that you need to turn on the TBS_ENABLESELRANGE style for the control.

The usage is very simple you just have to include the files in your project, replace the ocurrences of CSliderCtrl in your code for CSelectionSliderCtrl and include SelectionSliderCtrl.h. For example

// MyDialog.h  header file
//
/////////////////////////////////////////////////////////////////////////////
// CMyDialog dialog
#include “SelectionSliderCtrl.h”
class CMyDialog  public CDialog
{
…
// Dialog Data
	//{{AFX_DATA(CMyDialog)
	enum { IDD = IDD_MY_DIALOG };
	//}}AFX_DATA
	CSelectionSliderCtrl	m_sliderTest;
…
};

Download source – 3 Kb

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.