Стили полосы просмотра
Создание полосы просмотра
Существует два способа создания полос просмотра в окне приложения.
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);