Класс CSliderCtrl
Предоставляет функциональные возможности стандартного элемента управления "ползунок" Windows.
Синтаксис
class CSliderCtrl : public CWnd
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CSliderCtrl::CSliderCtrl |
Формирует объект CSliderCtrl . |
Открытые методы
Имя | Описание |
---|---|
CSliderCtrl::ClearSel |
Очищает текущий выбор в элементе управления ползунка. |
CSliderCtrl::ClearTics |
Удаляет текущие галочки из элемента управления ползунок. |
CSliderCtrl::Create |
Создает ползунок и присоединяет его к объекту CSliderCtrl . |
CSliderCtrl::CreateEx |
Создает ползунок с указанными расширенными стилями Windows и присоединяет его к объекту CSliderCtrl . |
CSliderCtrl::GetBuddy |
Извлекает дескриптор в приятельное окно элемента управления ползунка в заданном расположении. |
CSliderCtrl::GetChannelRect |
Извлекает размер канала элемента управления ползунка. |
CSliderCtrl::GetLineSize |
Извлекает размер строки элемента управления ползунка. |
CSliderCtrl::GetNumTics |
Извлекает количество тиковых меток в элементе управления ползунка. |
CSliderCtrl::GetPageSize |
Извлекает размер страницы элемента управления ползунка. |
CSliderCtrl::GetPos |
Извлекает текущую позицию ползунка. |
CSliderCtrl::GetRange |
Извлекает минимальное и максимальное положение ползунка. |
CSliderCtrl::GetRangeMax |
Извлекает максимальную позицию ползунка. |
CSliderCtrl::GetRangeMin |
Извлекает минимальную позицию ползунка. |
CSliderCtrl::GetSelection |
Извлекает диапазон текущего выделенного фрагмента. |
CSliderCtrl::GetThumbLength |
Извлекает длину ползунка в текущем элементе управления дорожки. |
CSliderCtrl::GetThumbRect |
Извлекает размер большого пальца элемента управления ползунка. |
CSliderCtrl::GetTic |
Извлекает позицию указанного галочки. |
CSliderCtrl::GetTicArray |
Извлекает массив позиций галочки для элемента управления ползунка. |
CSliderCtrl::GetTicPos |
Извлекает позицию указанной галочки в координатах клиента. |
CSliderCtrl::GetToolTips |
Извлекает дескриптор в элемент управления подсказки, назначенный ползунку, если таковой есть. |
CSliderCtrl::SetBuddy |
Назначает окно в качестве окна приятеля для элемента управления ползунка. |
CSliderCtrl::SetLineSize |
Задает размер строки элемента управления ползунка. |
CSliderCtrl::SetPageSize |
Задает размер страницы элемента управления ползунка. |
CSliderCtrl::SetPos |
Задает текущее положение ползунка. |
CSliderCtrl::SetRange |
Задает минимальное и максимальное положение ползунка. |
CSliderCtrl::SetRangeMax |
Задает максимальную позицию ползунка. |
CSliderCtrl::SetRangeMin |
Задает минимальную позицию ползунка. |
CSliderCtrl::SetSelection |
Задает диапазон текущего выделенного фрагмента. |
CSliderCtrl::SetThumbLength |
Задает длину ползунка в текущем элементе управления дорожки. |
CSliderCtrl::SetTic |
Задает позицию указанной галочки. |
CSliderCtrl::SetTicFreq |
Задает частоту меток для каждого элемента управления ползунка. |
CSliderCtrl::SetTipSide |
Позиционирует элемент управления подсказки, используемый элементом управления trackbar. |
CSliderCtrl::SetToolTips |
Назначает элементу управления подсказки ползунок. |
Замечания
Элемент управления "ползунок" (также известный как панель отслеживания) — это окно, содержащее ползунок и необязательные галочки. Когда пользователь перемещает ползунок, используя мышь или клавиши направления, элемент управления отправляет уведомления, чтобы указать изменение.
Элементы управления ползунка полезны, если пользователь выбирает дискретное значение или набор последовательных значений в диапазоне. Например, можно использовать ползунок, чтобы разрешить пользователю задать частоту повторения клавиатуры, переместив ползунок в заданный галочки.
Этот элемент управления (и, следовательно CSliderCtrl
, класс) доступен только для программ под управлением Windows 95/98 и Windows NT версии 3.51 и более поздних версий.
Ползунок перемещает приращения, указанные при создании. Например, если указать, что ползунок должен иметь диапазон из пяти, ползунок может занять только шесть позиций: положение в левой части элемента управления ползунка и одна позиция для каждого увеличения диапазона. Как правило, каждая из этих позиций определяется меткой галочки.
Ползунок создается с помощью конструктора и Create
функции-члена CSliderCtrl
. После создания ползунка можно использовать функции-члены для CSliderCtrl
изменения многих его свойств. Изменения, которые можно внести, включают настройку минимальных и максимальных позиций ползунка, меток рисования, настройки диапазона выделения и изменения положения ползунка.
Дополнительные сведения об использовании CSliderCtrl
см. в разделе "Элементы управления " и "Использование CSliderCtrl
".
Иерархия наследования
CSliderCtrl
Требования
Заголовок: afxcmn.h
CSliderCtrl::ClearSel
Очищает текущий выбор в элементе управления ползунка.
void ClearSel(BOOL bRedraw = FALSE);
Параметры
bRedraw
Перерисовка флага. Если этот параметр имеет TRUE
значение, ползунок перезабирается после очистки выделенного фрагмента; в противном случае ползунок не перенарисовывается.
CSliderCtrl::ClearTics
Удаляет текущие галочки из элемента управления ползунок.
void ClearTics(BOOL bRedraw = FALSE);
Параметры
bRedraw
Перерисовка флага. Если этот параметр имеет TRUE
значение, ползунок перезарисовывается после очистки меток. В противном случае ползунок не перезабирается.
CSliderCtrl::Create
Создает ползунок и присоединяет его к объекту CSliderCtrl
.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Параметры
dwStyle
Задает стиль элемента управления ползунка. Примените любое сочетание стилей элементов управления ползунка, описанных в пакете SDK для Windows, к элементу управления.
rect
Указывает размер и позицию элемента управления ползунка. Это может быть CRect
объект или RECT
структура.
pParentWnd
Указывает родительское окно элемента управления ползунка, обычно значение CDialog
. Это не должно быть NULL
.
nID
Указывает идентификатор элемента управления ползунка.
Возвращаемое значение
Ненулевое значение, если инициализация была успешной; в противном случае — 0.
Замечания
Вы создаете два CSliderCtrl
шага. Сначала вызовите конструктор, а затем вызов Create
, который создает элемент управления ползунка и присоединяет его к объекту CSliderCtrl
.
В зависимости от заданных dwStyle
значений элемент управления ползунок может иметь вертикальную или горизонтальную ориентацию. Он может иметь галочки на любой стороне, обе стороны или ни один из них. Его также можно использовать для указания диапазона последовательных значений.
Чтобы применить расширенные стили окон к элементу управления ползунка, вызовите CreateEx
вместо Create
него.
CSliderCtrl::CreateEx
Создает элемент управления (дочернее окно) и связывает его с CSliderCtrl
объектом.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Параметры
dwExStyle
Задает расширенный стиль создаваемого элемента управления. Список расширенных стилей Windows см dwExStyle
. в параметре CreateWindowEx
пакета SDK для Windows.
dwStyle
Задает стиль элемента управления ползунка. Примените любое сочетание стилей элементов управления ползунка, описанных в пакете SDK для Windows, к элементу управления.
rect
Ссылка на RECT
структуру, описывающую размер и положение создаваемого окна в координатах pParentWnd
клиента.
pParentWnd
Указатель на окно, которое является родительским элементом элемента управления.
nID
Идентификатор дочернего окна элемента управления.
Возвращаемое значение
Имеет ненулевое значение в случае успешного выполнения, иначе — 0.
Замечания
Используйте CreateEx
вместо Create
применения расширенных стилей Windows, указанных предисловием WS_EX_
расширенного стиля Windows.
CSliderCtrl::CSliderCtrl
Формирует объект CSliderCtrl
.
CSliderCtrl();
CSliderCtrl::GetBuddy
Извлекает дескриптор в приятельное окно элемента управления ползунка в заданном расположении.
CWnd* GetBuddy(BOOL fLocation = TRUE) const;
Параметры
fLocation
Логическое значение, указывающее, какой из двух дескрипторов окна для получения. Может использоваться одно из следующих значений:
TRUE
Извлекает дескриптор в приятель слева от ползунка. Если элемент управления ползунок используетTBS_VERT
стиль, сообщение получит приятель над ползунок.FALSE
Извлекает дескриптор в приятель справа от ползунка. Если элемент управления ползунок используетTBS_VERT
стиль, сообщение получит приятель под ползунок.
Возвращаемое значение
Указатель на CWnd
объект, который является окном приятеля в расположении, заданном fLocation
или NULL
если в этом расположении нет приятеля.
Замечания
Эта функция-член реализует поведение сообщения TBM_GETBUDDY
Win32, как описано в пакете SDK для Windows. Описание стилей элементов управления ползунка см. в разделе "Стили элементов управления Trackbar" в пакете SDK для Windows.
CSliderCtrl::GetChannelRect
Извлекает размер и положение ограничивающего прямоугольника для канала элемента управления ползунка.
void GetChannelRect(LPRECT lprc) const;
Параметры
lprc
Указатель на CRect
объект, содержащий размер и положение ограничивающего прямоугольника канала при возврате функции.
Замечания
Канал — это область перемещения ползунка, которая содержит выделение при выборе диапазона.
CSliderCtrl::GetLineSize
Извлекает размер строки для элемента управления ползунка.
int GetLineSize() const;
Возвращаемое значение
Размер строки для элемента управления ползунка.
Замечания
Размер строки влияет на то, сколько ползунок перемещается для TB_LINEUP
уведомлений и TB_LINEDOWN
уведомлений. Значение по умолчанию для размера строки равно 1.
CSliderCtrl::GetNumTics
Извлекает количество тиковых меток в элементе управления ползунка.
UINT GetNumTics() const;
Возвращаемое значение
Количество меток в элементе управления ползунка.
CSliderCtrl::GetPageSize
Извлекает размер страницы для элемента управления ползунка.
int GetPageSize() const;
Возвращаемое значение
Размер страницы для элемента управления ползунка.
Замечания
Размер страницы влияет на то, сколько ползунок перемещается для TB_PAGEUP
уведомлений и TB_PAGEDOWN
уведомлений.
CSliderCtrl::GetPos
Извлекает текущую позицию ползунка в элементе управления ползунка.
int GetPos() const;
Возвращаемое значение
Текущая позиция.
CSliderCtrl::GetRange
Извлекает максимальное и минимальное положение ползунка в элементе управления ползунка.
void GetRange(
int& nMin,
int& nMax) const;
Параметры
nMin
Ссылка на целое число, которое получает минимальную позицию.
nMax
Ссылка на целое число, которое получает максимальную позицию.
Замечания
Эта функция копирует значения в целые числа, на которые ссылается nMin
и nMax
.
CSliderCtrl::GetRangeMax
Извлекает максимальную позицию ползунка в элементе управления ползунок.
int GetRangeMax() const;
Возвращаемое значение
Максимальная позиция элемента управления.
CSliderCtrl::GetRangeMin
Извлекает минимальное положение ползунка в элементе управления ползунка.
int GetRangeMin() const;
Возвращаемое значение
Минимальная позиция элемента управления.
CSliderCtrl::GetSelection
Извлекает начальные и конечные позиции текущего выделения в элементе управления ползунка.
void GetSelection(
int& nMin,
int& nMax) const;
Параметры
nMin
Ссылка на целое число, которое получает начальную позицию текущего выбора.
nMax
Ссылка на целое число, которое получает конечное положение текущего выбора.
CSliderCtrl::GetThumbLength
Извлекает длину ползунка в текущем элементе управления дорожки.
int GetThumbLength() const;
Возвращаемое значение
Длина ползунка в пикселях.
Замечания
Этот метод отправляет TBM_GETTHUMBLENGTH
сообщение, описанное в пакете SDK для Windows.
CSliderCtrl::GetThumbRect
Извлекает размер и положение ограничивающего прямоугольника для ползунка (отпечатка) в элементе управления ползунка.
void GetThumbRect(LPRECT lprc) const;
Параметры
lprc
Указатель на CRect
объект, содержащий ограничивающий прямоугольник ползунка при возврате функции.
CSliderCtrl::GetTic
Извлекает позицию галочки в элементе управления ползунка.
int GetTic(int nTic) const;
Параметры
nTic
Отсчитываемый от нуля индекс, определяющий галочку.
Возвращаемое значение
Позиция указанной отметки галочки или - 1, если nTic
не указан допустимый индекс.
CSliderCtrl::GetTicArray
Извлекает адрес массива, содержащий позиции галочки для элемента управления ползунка.
DWORD* GetTicArray() const;
Возвращаемое значение
Адрес массива, содержащего позиции галочки для элемента управления ползунка.
CSliderCtrl::GetTicPos
Извлекает текущую физическую позицию галочки в элементе управления ползунок.
int GetTicPos(int nTic) const;
Параметры
nTic
Отсчитываемый от нуля индекс, определяющий галочку.
Возвращаемое значение
Физическая позиция в координатах клиента, указанной отметки галочки или - 1, если nTic
не указан допустимый индекс.
CSliderCtrl::GetToolTips
Извлекает дескриптор в элемент управления подсказки, назначенный ползунку, если таковой есть.
CToolTipCtrl* GetToolTips() const;
Возвращаемое значение
Указатель на CToolTipCtrl
объект или NULL
если подсказки не используются. Если ползунок не использует TBS_TOOLTIPS
стиль, возвращается NULL
значение.
Замечания
Эта функция-член реализует поведение сообщения TBM_GETTOOLTIPS
Win32, как описано в пакете SDK для Windows. Обратите внимание, что эта функция-член возвращает CToolTipCtrl
объект вместо дескриптора элементу управления.
Описание стилей элементов управления ползунка см. в разделе "Стили элементов управления Trackbar" в пакете SDK для Windows.
CSliderCtrl::SetBuddy
Назначает окно в качестве окна приятеля для элемента управления ползунка.
CWnd* SetBuddy(
CWnd* pWndBuddy,
BOOL fLocation = TRUE);
Параметры
pWndBuddy
Указатель на CWnd
объект, который будет задан в качестве приятеля элемента управления ползунка.
fLocation
Значение, указывающее расположение, в котором будет отображаться окно приятеля. Значение может быть одним из следующих.
TRUE
Приятель появится слева от панели отслеживания, если элемент управления trackbar используетTBS_HORZ
стиль. Если панель отслеживания используетTBS_VERT
стиль, приятель отображается над элементом управления trackbar.FALSE
Приятель появится справа от панели отслеживания, если элемент управления trackbar используетTBS_HORZ
стиль. Если панель отслеживания используетTBS_VERT
стиль, приятель отображается под элементом управления trackbar.
Возвращаемое значение
Указатель на CWnd
объект, который ранее был назначен элементу управления ползунка в этом расположении.
Замечания
Эта функция-член реализует поведение сообщения TBM_SETBUDDY
Win32, как описано в пакете SDK для Windows. Обратите внимание, что эта функция-член использует указатели на CWnd
объекты, а не дескрипторы окон как для возвращаемого значения, так и параметра.
Описание стилей элементов управления ползунка см. в разделе "Стили элементов управления Trackbar" в пакете SDK для Windows.
CSliderCtrl::SetLineSize
Задает размер строки для элемента управления ползунка.
int SetLineSize(int nSize);
Параметры
nSize
Новый размер строки элемента управления ползунка.
Возвращаемое значение
Предыдущий размер строки.
Замечания
Размер строки влияет на то, сколько ползунок перемещается для TB_LINEUP
уведомлений и TB_LINEDOWN
уведомлений.
CSliderCtrl::SetPageSize
Задает размер страницы для элемента управления ползунка.
int SetPageSize(int nSize);
Параметры
nSize
Новый размер страницы элемента управления ползунка.
Возвращаемое значение
Предыдущий размер страницы.
Замечания
Размер страницы влияет на то, сколько ползунок перемещается для TB_PAGEUP
уведомлений и TB_PAGEDOWN
уведомлений.
CSliderCtrl::SetPos
Задает текущее положение ползунка в элементе управления ползунка.
void SetPos(int nPos);
Параметры
nPos
Указывает новое положение ползунка.
CSliderCtrl::SetRange
Задает диапазон (минимальное и максимальное положение) ползунка в элементе управления ползунка.
void SetRange(
int nMin,
int nMax,
BOOL bRedraw = FALSE);
Параметры
nMin
Минимальная позиция ползунка.
nMax
Максимальная позиция ползунка.
bRedraw
Флаг перерисовки. Если этот параметр имеет TRUE
значение, ползунок перезабирается после задания диапазона; в противном случае ползунок не перезабирается.
CSliderCtrl::SetRangeMax
Задает максимальный диапазон ползунка в элементе управления ползунка.
void SetRangeMax(
int nMax,
BOOL bRedraw = FALSE);
Параметры
nMax
Максимальная позиция ползунка.
bRedraw
Флаг перерисовки. Если этот параметр имеет TRUE
значение, ползунок перезабирается после задания диапазона; в противном случае ползунок не перезабирается.
CSliderCtrl::SetRangeMin
Задает минимальный диапазон ползунка в элементе управления ползунка.
void SetRangeMin(
int nMin,
BOOL bRedraw = FALSE);
Параметры
nMin
Минимальная позиция ползунка.
bRedraw
Флаг перерисовки. Если этот параметр имеет TRUE
значение, ползунок перезабирается после задания диапазона; в противном случае ползунок не перезабирается.
CSliderCtrl::SetSelection
Задает начальные и конечные позиции для текущего выбора в элементе управления ползунка.
void SetSelection(
int nMin,
int nMax);
Параметры
nMin
Начальная позиция ползунка.
nMax
Конечное положение ползунка.
CSliderCtrl::SetThumbLength
Задает длину ползунка в текущем элементе управления дорожки.
void SetThumbLength(int nLength);
Параметры
nLength
[in] Длина ползунка в пикселях.
Замечания
Для этого метода требуется, чтобы элемент управления trackbar был задан в TBS_FIXEDLENGTH
стиле.
Этот метод отправляет TBM_SETTHUMBLENGTH
сообщение, описанное в пакете SDK для Windows.
Пример
Первый пример кода определяет переменную, m_sliderCtrl
которая используется для доступа к текущему элементу управления отслеживания. В примере также определяется переменная, thumbLength
которая используется для хранения длины по умолчанию элемента управления отслеживания. Эти переменные используются в следующем примере.
// Variable to access the slider control.
CSliderCtrl m_sliderCtrl;
// Length of the slider control's thumb.
int thumbLength;
Следующий пример кода задает для компонента элемента управления trackbar значение в два раза больше длины по умолчанию.
// Add extra initialization.
// Modify the size of the slider control's thumb.
// First, set the TBS_FIXEDLENGTH style.
m_sliderCtrl.ModifyStyle(0, TBS_FIXEDLENGTH);
thumbLength = m_sliderCtrl.GetThumbLength();
m_sliderCtrl.SetThumbLength(thumbLength * 2);
// End extra initialization.
CSliderCtrl::SetTic
Задает положение галочки в элементе управления ползунка.
BOOL SetTic(int nTic);
Параметры
nTic
Позиция галочки. Этот параметр должен указать положительное значение.
Возвращаемое значение
Ненулевое значение, если задается метка галочки; в противном случае — 0.
CSliderCtrl::SetTicFreq
Задает частоту отображения галочки в ползунке.
void SetTicFreq(int nFreq);
Параметры
nFreq
Частота меток.
Замечания
Например, если для частоты задано значение 2, пометка галочки отображается для каждого другого увеличения в диапазоне ползунка. Значение по умолчанию для частоты равно 1 (т. е. каждое увеличение диапазона связано с отметкой галочки).
Для использования этой функции необходимо создать элемент управления со стилем TBS_AUTOTICKS
. Дополнительные сведения см. в разделе CSliderCtrl::Create
.
CSliderCtrl::SetTipSide
Позиционирует элемент управления подсказки, используемый элементом управления trackbar.
int SetTipSide(int nLocation);
Параметры
nLocation
Значение, представляющее расположение, в котором будет отображаться элемент управления подсказки. Список возможных значений см. в сообщении TBM_SETTIPSIDE
Win32, как описано в пакете SDK для Windows.
Возвращаемое значение
Значение, представляющее предыдущее расположение элемента управления подсказки. Возвращаемое значение равно одному из возможных значений nLocation
.
Замечания
Эта функция-член реализует поведение сообщения TBM_SETTIPSIDE
Win32, как описано в пакете SDK для Windows. Элементы управления ползунка, использующие подсказки TBS_TOOLTIPS
для отображения стиля. Описание стилей элементов управления ползунка см. в разделе "Стили элементов управления Trackbar" в пакете SDK для Windows.
CSliderCtrl::SetToolTips
Назначает элементу управления подсказки ползунок.
void SetToolTips(CToolTipCtrl* pWndTip);
Параметры
pWndTip
Указатель на CToolTipCtrl
объект, содержащий подсказки для использования с элементом управления ползунка.
Замечания
Эта функция-член реализует поведение сообщения TBM_SETTOOLTIPS
Win32, как описано в пакете SDK для Windows. Когда элемент управления ползунок создается с помощью стиля, он создает элемент управления подсказки по умолчанию, который отображается рядом с TBS_TOOLTIPS
ползунок, отображая текущее положение ползунка. Описание стилей элементов управления ползунка см. в разделе "Стили элементов управления Trackbar" в пакете SDK для Windows.
См. также
Пример MFC CMNCTRL2
CWnd
Класс
Диаграмма иерархии
CProgressCtrl
Класс