Класс 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".
Иерархия наследования
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-разрядная точность для SetPos
32-разрядной точности).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