Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du skapar ett överlappande fönster, popup-fönster eller underordnat fönster kan du lägga till standardrullningslister med hjälp av funktionen CreateWindowEx och ange WS_HSCROLL, WS_VSCROLL eller båda formatmallarna.
Vad du behöver veta
Teknologier
Förutsättningar
- C/C++
- Programmering av Windows-användargränssnitt
Instruktioner
Skapa ett rullningslist
I följande exempel skapas ett fönster med vanliga vågräta och lodräta rullningslister.
hwnd = CreateWindowEx(
0, // no extended styles
g_szWindowClass, // global string containing name of window class
g_szTitle, // global string containing title bar text
WS_OVERLAPPEDWINDOW |
WS_HSCROLL | WS_VSCROLL, // window styles
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, // use the window class menu
g_hInst, // global instance handle
(PVOID) NULL // pointer not needed
);
Om du vill bearbeta rullningslistmeddelanden för dessa rullningslister måste du inkludera lämplig kod i huvudfönsterproceduren.
Du kan använda funktionen CreateWindowEx för att skapa en rullningslist genom att ange fönsterklassen SCROLLBAR. Detta skapar en vågrät eller lodrät rullningslist, beroende på om SBS_HORZ eller SBS_VERT anges som fönsterformat. Rullningslistens storlek och dess position i förhållande till det överordnade fönstret kan också anges.
I följande exempel skapas en vågrät rullningslist som är placerad längst ned i det överordnade fönstrets klientområde.
// Description:
// Creates a horizontal scroll bar along the bottom of the parent
// window's area.
// Parameters:
// hwndParent - handle to the parent window.
// sbHeight - height, in pixels, of the scroll bar.
// Returns:
// The handle to the scroll bar.
HWND CreateAHorizontalScrollBar(HWND hwndParent, int sbHeight)
{
RECT rect;
// Get the dimensions of the parent window's client area;
if (!GetClientRect(hwndParent, &rect))
return NULL;
// Create the scroll bar.
return (CreateWindowEx(
0, // no extended styles
L"SCROLLBAR", // scroll bar control class
(PTSTR) NULL, // no window text
WS_CHILD | WS_VISIBLE // window styles
| SBS_HORZ, // horizontal scroll bar style
rect.left, // horizontal position
rect.bottom - sbHeight, // vertical position
rect.right, // width of the scroll bar
sbHeight, // height of the scroll bar
hwndParent, // handle to main window
(HMENU) NULL, // no menu
g_hInst, // instance owning this window
(PVOID) NULL // pointer not needed
));
}
Relaterade ämnen