When creating an overlapped, pop-up, or child window, you can add standard scroll bars by using the CreateWindowEx function and specifying WS_HSCROLL, WS_VSCROLL, or both styles. Doing this adds a horizontal or vertical scroll bar, or both, to the window. The following example creates a window with standard horizontal and vertical scroll bars.
hwnd = CreateWindowEx(
0L, // no extended styles
"MyAppClass", // window class
"Scroll Bar Application", // text for window title bar
WS_OVERLAPPEDWINDOW | // window styles
WS_HSCROLL |
WS_VSCROLL,
CW_USEDEFAULT, // default horizontal position
CW_USEDEFAULT, // default vertical position
CW_USEDEFAULT, // default width
CW_USEDEFAULT, // default height
(HWND) NULL, // no parent for overlapped windows
(HMENU) NULL, // window class menu
hinst, // instance owning this window
(LPVOID) NULL // pointer not needed
);
To process scroll bar messages for these scroll bars, you must include appropriate code in the main window procedure.
When using the CreateWindowEx function to create a window, you can add a scroll bar control by specifying the scrollbar window class. This creates a horizontal or vertical scroll bar, depending on whether SBS_HORZ or SBS_VERT is specified as the window style. The scroll bar size and its position relative to its parent window can also be specified. The following example creates a horizontal scroll bar control and positions it in the upper right corner of the window.
hwndScroll = CreateWindowEx(
0L, // no extended styles
"SCROLLBAR", // scroll bar control class
(LPSTR) NULL, // text for window title bar
WS_CHILD | SBS_HORZ, // scroll bar styles
0, // horizontal position
0, // vertical position
200, // width of the scroll bar
CW_USEDEFAULT, // default height
hwnd, // handle to main window
(HMENU) NULL, // no menu for a scroll bar
hinst, // instance owning this window
(LPVOID) NULL // pointer not needed
);