Crearea bare de defilare

Când creați o fereastră suprapus, pop-up sau copil, se pot adăuga bare de defilare standard utilizând funcția CreateWindowEx și specificând, WS_HSCROLL, WS_VSCROLL sau ambele stiluri. Acest lucru face adaugă o bară de defilare orizontală sau verticală, sau ambele, la fereastra. Următorul exemplu creează o fereastră cu bare de defilare pe orizontală și verticală standard.

hWnd = CreateWindowEx (0 L, / / nu extins stiluri "MyAppClass", / / fereastra clasa "Scroll Bar cerere", / / text pentru fereastra title bar WS_OVERLAPPEDWINDOW |        / / fereastra stiluri WS_HSCROLL | 
        WS_VSCROLL, CW_USEDEFAULT, / / implicit orizontală de poziții CW_USEDEFAULT, / / implicit verticale de poziții CW_USEDEFAULT, / / implicit lățimea CW_USEDEFAULT, / / implicit înălțime NULL (HWND), / / nu mamă pentru Ferestre suprapuse NULL (HMENU), / / fereastra clasa meniul hinst, / / instanță care deține această fereastră NULL (LPVOID) / / cursorul nu necesare) 

 

Pentru a procesa defilare bara de mesaje pentru aceste bare de defilare, trebuie să includeți codul corespunzător în procedura fereastra principală.

Atunci când se utilizează funcția CreateWindowEx pentru a crea o fereastră, puteți adăuga un control bară de defilare specificând clasa fereastra bară de defilare. Acest lucru creează o bară de defilare orizontală sau verticală, în funcție de dacă SBS_HORZ sau SBS_VERT este specificată ca stil fereastra. Scroll bar dimensiunea și poziția sa relativ la fereastra sa mamă, de asemenea, pot fi specificate. Următorul exemplu creează un control de bara de defilare pe orizontală și o poziții în colțul din dreapta sus al ferestrei.

hwndScroll = CreateWindowEx (0 L, / / nu extins stiluri "Bara de DEFILARE", / / scroll bar clasa de control NULL (LPSTR), / / text pentru fereastra title bar WS_CHILD | SBS_HORZ, / / bară de defilare stiluri 0, / / orizontală poziția 0, / / verticală poziția 200, / / lățime de parcurgere bar CW_USEDEFAULT, / / implicit înălțime hwnd, / / ocupa la fereastra principală NULL (HMENU), / / nici un meniu pentru un hinst de bara de defilare, / / instanță care deține această fereastră NULL (LPVOID) / / cursorul nu necesar) 

 

Index