Создание круглого регулятора
Для создания круглого регулятора вы можете воспользоваться функцией WinCreateWindow, как это показано ниже:
hWndCirc1 = WinCreateWindow(hWnd, WC_CIRCULARSLIDER , "Красный", WS_VISIBLE | CSS_NOTEXT, 0, 0, 0, 0, hWnd, HWND_TOP, CIRCSLD1_ID, NULL, NULL);
Здесь мы привели фрагмент обработчика сообщения WM_CREATE функции окна приложения Client Window, имеющего идентификатор hWnd. Размеры и расположение регулятора будут определены позже при обработке сообщения WM_SIZE. Как вы можете заметить, регулятор создается точно также, как и любой другой описанные нами ранее орган управления.
Внешний вид круглой ручки управления определяется стилем регулятора. Ниже приведены значения стилей, которые вы можете комбинировать при помощи логической операции ИЛИ:
Стиль | Описание |
CSS_360 | С помощью этого стиля вы можете создать ручку управления, которая будет поворачиваться на 360 градусов. При этом будут автоматически установлены стили CSS_NONUMBER и CSS_NOBUTTON |
CSS_CIRCULARVALUE | Вместо риски на поверхности ручки будет создана круглая метка в виде небольшого углубления круглой формы |
CSS_MIDPOINT | Начальная и конечная риска на шкале регулятора будет иметь увеличенную длину |
CSS_NOBUTTON | Если указан этот стиль, в окне органа управления не будет кнопок + и - |
CSS_NONUMBER | Отмена отображения цифрового значения текущей позиции |
CSS_NOTEXT | Отмена отображения подписи под регулятором |
CSS_POINTSELECT | Если указан стиль CSS_POINTSELECT, изменяется способ управления регулятором при помощи мыши. Если установить курсор мыши в новую позицию и сделать щелчок левой клавишей мыши, регулятор скачкообразно изменит свою текущую позицию таким образом, что она будет совпадать с позицией курсора |
CSS_PROPORTIONALTICKS | Длина рисок на шкале регулятора будет вычисляться в процентах от радиуа регулятора. Этот способ удобен при работе видеоадаптера в режимах с низким разрешением |