Opprette en hovedvindu

Det første vinduet som et program oppretter er vanligvis i hovedvinduet. Du oppretter hovedvinduet ved hjelp av funksjonen CreateWindowEx å angi vindusklasse, vindusnavnet, vindusstiler, størrelse, posisjon, Menyreferanse, Forekomstreferanse og etableringen data. En hovedvinduet tilhører en programdefinert vindusklasse, slik at du må registrere Vindusklassen og gi en vindusprosedyre for klassen før du oppretter hovedvinduet.

De fleste programmer vanligvis bruker stilen WS_OVERLAPPEDWINDOW for å opprette hovedvinduet. Denne stilen gir vinduet til en tittellinje, en Vindu-menyen, en skalering kantlinje, og minimere og maksimere knapper. CreateWindowEx -funksjonen returnerer et håndtak som entydig identifiserer vinduet.

Følgende eksempel oppretter en hovedvinduet som hører til en programdefinert vindusklasse. Vindusnavnet, Main Window , vil vises i vinduets tittellinje. Ved å kombinere stilene for WS_VSCROLL og WS_HSCROLL med WS_OVERLAPPEDWINDOW-stil, oppretter programmet en hovedvinduet med vannrette og loddrette rullefelt i tillegg til komponenter som er levert av WS_OVERLAPPEDWINDOW-stil. Fire forekomster av CW_USEDEFAULT konstanten setter opprinnelig størrelse og posisjon i vinduet til systemdefinerte standardverdiene. Ved å angi NULL i stedet for et håndtak i menyen, vil vinduet har menyen som er definert for Vindusklassen.

HINSTANCE hinst; 
HWND hwndMain; 
 
/ / Opprett hovedvinduet. 
 
hwndMain = CreateWindowEx (0, / / nei utvidet stiler "MainWClass", / / klasse navn "Main-vindu", / / vinduet navn WS_OVERLAPPEDWINDOW |   / / overlappes vinduet WS_HSCROLL |        / / vannrett rullefelt WS_VSCROLL, / / loddrett rullefelt CW_USEDEFAULT, / / standard vannrett plasserer CW_USEDEFAULT, / / standard loddrett plasserer CW_USEDEFAULT, / / default bredde CW_USEDEFAULT, / / default høyde (HWND) NULL, / / ingen overordnet eller eier-vinduet NULL (HMENU), / / klasse-menyen brukt hinstance, / / forekomst håndtere NULL);                  / / Ingen vinduet etableringen data hvis (! hwndMain) return FALSE; 
 
/ / Viser vinduet ved hjelp av flagg angitt av programmet / / som startet programmet, og sende søknaden / / en WM_PAINT-melding. 
 
ShowWindow (hwndMain, SW_SHOWDEFAULT); 
UpdateWindow(hwndMain) 

 

Legg merke til at det foregående eksemplet kaller funksjonen ShowWindow når du har opprettet hovedvinduet. Dette gjøres fordi systemet ikke viser automatisk hovedvinduet når du har opprettet den. Etter bestått SW_SHOWDEFAULT flagg til ShowWindow, programmet gjør det mulig for programmet som startet programmet til å angi første Vis tilstand i hovedvinduet. Den UpdateWindow funksjonen sender vinduet sin første WM_PAINT -melding.

Index