Поделиться через


Класс 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".

Иерархия наследования

CObject

CCmdTarget

CWnd

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_GETBUDDYWin32, как описано в пакете 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_GETTOOLTIPSWin32, как описано в пакете 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_SETBUDDYWin32, как описано в пакете 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_SETTIPSIDEWin32, как описано в пакете SDK для Windows.

Возвращаемое значение

Значение, представляющее предыдущее расположение элемента управления подсказки. Возвращаемое значение равно одному из возможных значений nLocation.

Замечания

Эта функция-член реализует поведение сообщения TBM_SETTIPSIDEWin32, как описано в пакете SDK для Windows. Элементы управления ползунка, использующие подсказки TBS_TOOLTIPS для отображения стиля. Описание стилей элементов управления ползунка см. в разделе "Стили элементов управления Trackbar" в пакете SDK для Windows.

CSliderCtrl::SetToolTips

Назначает элементу управления подсказки ползунок.

void SetToolTips(CToolTipCtrl* pWndTip);

Параметры

pWndTip
Указатель на CToolTipCtrl объект, содержащий подсказки для использования с элементом управления ползунка.

Замечания

Эта функция-член реализует поведение сообщения TBM_SETTOOLTIPSWin32, как описано в пакете SDK для Windows. Когда элемент управления ползунок создается с помощью стиля, он создает элемент управления подсказки по умолчанию, который отображается рядом с TBS_TOOLTIPS ползунок, отображая текущее положение ползунка. Описание стилей элементов управления ползунка см. в разделе "Стили элементов управления Trackbar" в пакете SDK для Windows.

См. также

Пример MFC CMNCTRL2
CWnd Класс
Диаграмма иерархии
CProgressCtrl Класс