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


Класс CSpinButtonCtrl

Предоставляет функциональные возможности стандартного элемента управления "счетчик" Windows.

Синтаксис

class CSpinButtonCtrl : public CWnd

Участники

Открытые конструкторы

Имя Описание
CSpinButtonCtrl::CSpinButtonCtrl Формирует объект CSpinButtonCtrl.

Открытые методы

Имя Описание
CSpinButtonCtrl::Create Создает элемент управления кнопки спина и присоединяет его к объекту CSpinButtonCtrl .
CSpinButtonCtrl::CreateEx Создает элемент управления кнопкой спины с указанными расширенными стилями Windows и присоединяет его к объекту CSpinButtonCtrl .
CSpinButtonCtrl::GetAccel Извлекает сведения об ускорениях для элемента управления кнопкой спины.
CSpinButtonCtrl::GetBase Извлекает текущую базу для элемента управления "Кнопка спина".
CSpinButtonCtrl::GetBuddy Извлекает указатель на текущее окно приятеля.
CSpinButtonCtrl::GetPos Извлекает текущую позицию элемента управления спин-кнопки.
CSpinButtonCtrl::GetRange Извлекает верхние и нижние пределы (диапазон) для элемента управления спин-кнопкой.
CSpinButtonCtrl::SetAccel Задает ускорение для элемента управления кнопкой "Спин".
CSpinButtonCtrl::SetBase Задает базу для элемента управления кнопкой спины.
CSpinButtonCtrl::SetBuddy Задает окно приятеля для элемента управления спин-кнопкой.
CSpinButtonCtrl::SetPos Задает текущую позицию элемента управления.
CSpinButtonCtrl::SetRange Задает верхние и нижние пределы (диапазон) для элемента управления кнопкой спины.

Замечания

Элемент управления "спин-кнопка" (также известный как элемент управления вверх вниз) — это пара кнопок со стрелками, которые пользователь может щелкнуть, чтобы увеличить или уменьшить значение, например положение прокрутки или число, отображаемое в элементе управления-компаньона. Значение, связанное с элементом управления кнопкой спина, называется его текущей позицией. Элемент управления кнопкой спина чаще всего используется со вспомогательным элементом управления, который называется "приятельным окном".

Этот элемент управления (и, следовательно CSpinButtonCtrl , класс) доступен только для программ под управлением Windows 95/98 и Windows NT версии 3.51 и более поздних версий.

Для пользователя элемент управления "Спин-кнопка" и его приятельное окно часто выглядят как один элемент управления. Можно указать, что элемент управления кнопкой спины автоматически позиционирует себя рядом с его приятельным окном, и что он автоматически устанавливает подпись окна приятеля в текущее положение. Вы можете использовать элемент управления "Спин- кнопка" с элементом управления редактирования, чтобы запрашивать у пользователя числовые входные данные.

Нажатие стрелки вверх перемещает текущую позицию в сторону максимума и щелчок стрелки вниз перемещает текущую позицию в сторону минимального значения. По умолчанию минимальное значение равно 100, а максимальное — 0. Каждый раз, когда минимальный параметр больше максимального значения (например, при использовании параметров по умолчанию), щелкнув стрелку вверх, уменьшает значение позиции и щелчок стрелки вниз увеличивает его.

Элемент управления "Кнопка спина" без приятельского окна функционирует как своего рода упрощенная полоса прокрутки. Например, элемент управления вкладки иногда отображает элемент управления спин-кнопкой, чтобы пользователь мог прокручивать дополнительные вкладки в представление.

Дополнительные сведения об использовании CSpinButtonCtrlсм. в разделе "Элементы управления " и "Использование CSpinButtonCtrl".

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

CObject

CCmdTarget

CWnd

CSpinButtonCtrl

Требования

Заголовок: afxcmn.h

CSpinButtonCtrl::Create

Создает элемент управления кнопки спина и присоединяет его к объекту CSpinButtonCtrl .

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Параметры

dwStyle
Задает стиль элемента управления "Спин-кнопка". Примените к элементу управления любое сочетание стилей элементов управления спиной. Эти стили описаны в стилях элементов управления up-Down в пакете SDK для Windows.

rect
Указывает размер и позицию элемента управления "Спин-кнопка". Это может быть объект CRect или структура RECT

pParentWnd
Указатель на родительское окно элемента управления "Спин- кнопка", как правило, .CDialog Он не должен иметь значение NULL.

nID
Указывает идентификатор элемента управления "Спин-кнопка".

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

Ненулевое значение, если инициализация была успешной; в противном случае — 0.

Замечания

Вы создаете CSpinButtonCtrl объект на двух шагах First, вызовите конструктор, а затем вызов Create, который создает элемент управления кнопкой спина и присоединяет его к объекту CSpinButtonCtrl .

Чтобы создать элемент управления спин-кнопкой с расширенными стилями окон, вызовите CSpinButtonCtrl::CreateEx вместо Create.

CSpinButtonCtrl::CreateEx

Создает элемент управления (дочернее окно) и связывает его с CSpinButtonCtrl объектом.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Параметры

dwExStyle
Задает расширенный стиль создаваемого элемента управления. Список расширенных стилей windows см . в параметре dwExStyle для CreateWindowEx в пакете SDK для Windows.

dwStyle
Задает стиль элемента управления "Спин-кнопка". Примените к элементу управления любое сочетание стилей элементов управления спиной. Эти стили описаны в стилях элементов управления up-Down в пакете SDK для Windows.

rect
Ссылка на структуру RECT , описывающую размер и положение создаваемого окна в координатах клиента pParentWnd.

pParentWnd
Указатель на окно, которое является родительским элементом элемента управления.

nID
Идентификатор дочернего окна элемента управления.

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

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.

Замечания

Используйте CreateEx вместо создания для применения расширенных стилей Windows, указанных предисловием расширенного стиля Windows WS_EX_.

CSpinButtonCtrl::CSpinButtonCtrl

Формирует объект CSpinButtonCtrl.

CSpinButtonCtrl();

CSpinButtonCtrl::GetAccel

Извлекает сведения об ускорениях для элемента управления кнопкой спины.

UINT GetAccel(
    int nAccel,
    UDACCEL* pAccel) const;

Параметры

nAccel
Количество элементов в массиве, заданное pAccel.

pAccel
Указатель на массив структур UDACCEL , получающих сведения об ускорениях.

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

Количество полученных структур акселератора.

CSpinButtonCtrl::GetBase

Извлекает текущую базу для элемента управления "Кнопка спина".

UINT GetBase() const;

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

Текущее базовое значение.

CSpinButtonCtrl::GetBuddy

Извлекает указатель на текущее окно приятеля.

CWnd* GetBuddy() const;

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

Указатель на текущее окно приятеля.

CSpinButtonCtrl::GetPos

Извлекает текущую позицию элемента управления спин-кнопки.

int GetPos() const;  int GetPos32(LPBOOL lpbError = NULL) const;

Параметры

lpbError
Указатель на логическое значение, равное нулю, если значение успешно извлекается или не равно нулю при возникновении ошибки. Если для этого параметра задано значение NULL, ошибки не сообщаются.

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

Первая версия возвращает 16-разрядную текущую позицию в слове с низким порядком. Слово высокого порядка ненулевое, если произошла ошибка.

Вторая версия возвращает 32-разрядную позицию.

Замечания

При обработке возвращаемого значения элемент управления обновляет текущее положение на основе заголовка окна приятеля. Элемент управления возвращает ошибку, если нет окна приятеля или если заголовок указывает недопустимое или вне диапазонное значение.

CSpinButtonCtrl::GetRange

Извлекает верхние и нижние пределы (диапазон) для элемента управления спин-кнопкой.

DWORD GetRange() const;

void GetRange(
    int& lower,
    int& upper) const;

void GetRange32(
    int& lower,
    int &upper) const;

Параметры

lower
Ссылка на целое число, которое получает нижнее ограничение для элемента управления.

upper
Ссылка на целое число, которое получает верхний предел для элемента управления.

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

Первая версия возвращает 32-разрядное значение, содержащее верхние и нижние пределы. Слово с низким порядком является верхним ограничением для элемента управления, а слово высокого порядка — нижнее ограничение.

Замечания

Функция-член GetRange32 извлекает диапазон элемента управления "Кнопка спина" в виде 32-разрядного целого числа.

CSpinButtonCtrl::SetAccel

Задает ускорение для элемента управления кнопкой "Спин".

BOOL SetAccel(
    int nAccel,
    UDACCEL* pAccel);

Параметры

nAccel
Число структур UDACCEL, указанных pAccel.

pAccel
Указатель на массив структур UDACCEL, содержащих сведения об ускорениях. Элементы должны быть отсортированы в порядке возрастания на nSec основе элемента.

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

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.

CSpinButtonCtrl::SetBase

Задает базу для элемента управления кнопкой спины.

int SetBase(int nBase);

Параметры

nBase
Новое базовое значение элемента управления. Он может быть 10 для десятичного или 16 для шестнадцатеричного.

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

Предыдущее базовое значение в случае успешного выполнения или ноль, если задана недопустимая база.

Замечания

Базовое значение определяет, отображает ли приятельное окно числа в десятичных или шестнадцатеричных цифрах. Шестнадцатеричные числа всегда без знака; десятичные числа подписываются.

CSpinButtonCtrl::SetBuddy

Задает окно приятеля для элемента управления спин-кнопкой.

CWnd* SetBuddy(CWnd* pWndBuddy);

Параметры

pWndBuddy
Указатель на новое приятельное окно.

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

Указатель на предыдущее окно приятеля.

Замечания

Элемент управления спином почти всегда связан с другим окном, например элементом управления редактированием, который отображает некоторое содержимое. Это другое окно называется "приятель" элемента управления спином.

CSpinButtonCtrl::SetPos

Задает текущую позицию для элемента управления "Кнопка спина".

int SetPos(int nPos);
int SetPos32(int nPos);

Параметры

nPos
Новая позиция элемента управления. Это значение должно находиться в диапазоне, заданном верхними и нижними ограничениями для элемента управления.

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

Предыдущая позиция (16-разрядная точность для SetPos32-разрядной точности).SetPos32

Замечания

SetPos32 задает 32-разрядную позицию.

CSpinButtonCtrl::SetRange

Задает верхние и нижние пределы (диапазон) для элемента управления кнопкой спины.

void SetRange(
    short nLower,
    short nUpper);

void SetRange32(
    int nLower,
    int nUpper);

Параметры

nLower и nUpper
Верхние и нижние пределы элемента управления. Для SetRange, ни один предел не может быть больше UD_MAXVAL или меньше UD_MINVAL; кроме того, разница между двумя ограничениями не может превышать UD_MAXVAL. SetRange32 не устанавливает ограничений на ограничения; используйте любые целые числа.

Замечания

Функция-член SetRange32 задает 32-разрядный диапазон для элемента управления "Кнопка спина".

Примечание.

Диапазон по умолчанию для кнопки спина имеет максимальное значение нулю (0) и минимальное значение 100. Так как максимальное значение меньше минимального значения, щелкнув стрелку вверх, уменьшит положение, а стрелка вниз увеличится. Используется CSpinButtonCtrl::SetRange для настройки этих значений.

См. также

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