Академический Документы
Профессиональный Документы
Культура Документы
ЛЕКЦИЯ 17
СПИН-КНОПКА _________________________________________________________________________ 1
Функции класса CSpinButtonCtrl ___________________________________________________________ 1
Пример использования спин-кнопки________________________________________________________ 1
Акселераторы__________________________________________________________________________ 2
Пример получения значений параметров акселераторов ______________________________________ 3
Пример установки значений параметров акселераторов_______________________________________ 3
ПОЛЗУНОК _____________________________________________________________________________ 3
Пример использования элемента управления Spin Button______________________________________ 4
Функции класса CSliderCtrl _______________________________________________________________ 4
СПИН-КНОПКА
Это пара кнопок со стрелками, назначение которых – изменение (уменьшение-увеличение) значения,
например, позиции прокрутки или числового значения. Элемент управления Spin Button возвращает зна-
чение типа short, которое может изменяться в пределах от –32 768 до 32 767. Иерархия классов до класса
CSpinButtonCtrl представлена на рисунке.
CObject
CCmdTaget
CWnd
CSpinButtonCtrl
Если спин-кнопка создается не в шаблоне блока диалога, то необходимо воспользоваться функцией
Create ( ).
Акселераторы
Изменять значение в текстовом поле с помощью щелчка мыши на спин-кнопке удобно, но долго. По-
этому в элементе управления предусмотрены акселераторы, которые изменяют шаг изменения позиции, в
том случае, когда пользователь долго жмёт кнопку мыши на спин-кнопке. Для хранения акселератора в
библиотеке MFC объявлена структура UDACCEL в следующем виде:
typedef struct
{
int nSec ; // время ожидания в секундах
int nInc ; // шаг изменения позиции после nSec секунд ожидания
} UDACCEL ;
Спин-кнопка содержит несколько акселераторов в соответствующем массиве, доступ к которому мож-
но получить с помощью следующих функций:
UINT GetAccel ( int nAccel , UDACCEL* pAccel ) const ;
BOOL SetAccel ( int nAccel , UDACCEL* pAccel ) ;
Функция GetAccel ( ) возвращает количество акселераторов, определённых в спин-кнопке. Функция
SetAccel ( ) возвращает true, если выполнена успешно. Параметры функций:
nAccel количество акселераторов, определённых в спин-кнопке;
pAccel указатель на массив акселераторов типа UDACCEL, который содержат информацию
об акселераторах. Элементы массива должны быть отсортированы по возрастанию по
времени ожидания.
По умолчанию в спин-кнопке определены три акселератора со следующими значениями параметров:
№ 0 1 2
nSec 0 2 5
nInc 1 5 20
ПОЛЗУНОК
Ползунок – это линейка с бегунком. Линейка может содержать деления. Данный элемент предназна-
чен для выбора дискретных значений в установленном интервале. Иерархия классов до класса
CSliderCtrl представлена на рисунке.
CObject
CCmdTaget
CWnd
CSliderCtrl
Если этот элемент управления создается не в шаблоне блока диалога, то необходимо воспользо-
ваться функцией Create ( ).