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 of main window */
(HMENU) NULL, /* no menu for a scroll bar */
hinst, /* instance owning this window */
(LPVOID) NULL /* pointer not needed */
);