Стили полосы просмотра

Создание полосы просмотра

Существует два способа создания полос просмотра в окне приложения.

1) можно создать полосу просмотра с помощью функции CreateWindow, указав предопределенный класс окна "scrollbar".

Для создания полосы просмотра с помощью функции CreateWindow необходимо в первом параметре функции указать класс окна "scrollbar":

#define IDC_SCROLLBAR 1

HWND hScroll;

hScroll = CreateWindow(_T("scrollbar"), NULL, WS_CHILD | WS_VISIBLE | SBS_HORZ, 20, 40, 100, 50, hWnd, IDC_SCROLLBAR, hInstance, NULL);


При создании полосы просмотра функцией CreateWindow можно указать в третьем параметре следующие стили.

Стиль Описание
SBS_BOTTOMALIGN Создается горизонтальная полоса просмотра, высота которой равна высоте системной полосы просмотра. Выполняется выравнивание нижнего края полосы просмотра по нижнему краю прямоугольника, координаты и размер которого определен при вызове функции CreateWindow. Этот стиль должен использоваться вместе со стилем SBS_HORZ
SBS_HORZ Создается горизонтальная полоса просмотра. Размер и расположение полосы просмотра определяются при вызове функции CreateWindow
SBS_LEFTALIGN Создается вертикальная полоса просмотра, ширина которой равна ширине системной полосы просмотра. Левый край полосы просмотра выравнивается по левому краю прямоугольника, координаты и размер которого определен при вызове функции CreateWindow. Этот стиль должен использоваться вместе со стилем SBS_VERT
SBS_RIGHTALIGN Создается вертикальная полоса просмотра, ширина которой равна ширина системной полосы просмотра. Правый край полосы просмотра выравнивается по правому краю прямоугольника, координаты и размер которого определен при вызове функции CreateWindow. Этот стиль должен использоваться вместе со стилем SBS_VERT
SBS_SIZEBOX Создается орган управления с небольшим прямоугольником серого цвета (Size Box). Если вы установите курсор мыши внутрь органа управления, нажмете левую клавишу мыши и будете перемещать мышь, родительское окно будет получать сообщения, аналогичные сообщениям от рамки, предназначенной для изменения размера окна.
SBS_SIZEBOXBOTTOMRIGHTALIGN Аналогично предыдущему, но правый нижний угол прямоугольника выравнивается по правому нижнему углу прямоугольника, координаты и размер которого определен при вызове функции CreateWindow. Этот стиль должен использоваться вместе со стилем SBS_SIZEBOX. Для высоты и ширины органа управления используются системные значения
SBS_SIZEBOXTOPLEFTALIGN Аналогично SBS_SIZEBOX, но верхний левый угол прямоугольника выравнивается по верхнему левому углу прямоугольника, координаты и размер которого определены при вызове функции CreateWindow. Этот стиль должен использоваться вместе со стилем SBS_SIZEBOX. Для высоты и ширины органа управления используются системные значения
SBS_TOPALIGN Создается горизонтальная полоса просмотра, высота которой равна высоте системной полосы просмотра. Выполняется выравнивание верхнего края полосы просмотра по верхнему краю прямоугольника, координаты и размер которого определен при вызове функции CreateWindow. Этот стиль должен использоваться вместе со стилем SBS_HORZ
SBS_VERT Создается вертикальная полоса просмотра. Размер и расположение полосы просмотра определяются при вызове функции CreateWindow

 

2) при создании окна на базе своего собственного класса можно указать, что окно должно иметь горизонтальную, вертикальную или обе полосы просмотра.

 

Создание окна с вертикальной и горизонтальной полосой просмотра:

hwnd = CreateWindow(szClassName, szWindowTitle,

WS_OVERLAPPEDWINDOW | WS_VSCROLL | WS_HSCROLL,CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, hInstance, NULL);