Bli kjent med Windows - Del 8 Volum - Windows brukergrensesnitt Innledning Dette er del 8 av min serie, Bli kjent med Windows. Jeg antar at du har lest alle de tidligere tutorials før dette. Du bør lese tutorials i angitt rekkefølge. I denne delen av serien ser vi på enkel koding av vindus klasse prosedyre. Merk: Hvis du ikke kan se koden, eller hvis du tror noe mangler (ødelagt kobling, bilde fraværende), bare kontakte meg på [email protected]. Det er, kontakt meg for den minste problemet du har om hva du leser.
Oppbygging av Window Class Prosedyre Vinduet klassen prosedyren tar fire parametere og returnerer en enkelt verdi. Settet av fire parametere er meldingen fra systemet køen. Vi har snakket om dette før. Legemet av prosedyren anvender en bryter konstruere slik i C ++. Du kan ha hekket bryter konstruksjoner. En typisk Window Prosedyre Det følgende er en typisk vindu prosedyrekode: LRESULT RING TILBAKE MainWndProc (HWND hwnd, UINT uMsg, wParam wParam, lParam lParam) {switch (uMsg) {case WM_CREATE: //Initial vinduet. returnere 0; case WM_PAINT: //Paint vinduet klientområdet.
returnere 0; case WM_CLOSE: //Finalize. returnere 0; case WM_DESTROY: //Rydd opp vindusspesifikke dataobjekter. returnere 0; ////Process andre meldinger. //Standard: returnere DefWindowProc (hwnd, uMsg, wParam, lParam); } Return 0; } Hver CASE blokk har en eller flere uttalelser. Alt er likt, skal den siste uttalelsen være "return 0". For tilfellene ovenfor meldingen er mottatt av uMsg parameter. De delene av budskapet i wParam og lParam parametere er ikke viktig for oss nå (antar det). WM_CREATE meldingen sendes til fremgangsmåten like etter at vinduet er opprettet.
For dette tilfellet i prosedyren, kan du gjøre noen starting av vinduet, for eksempel å skrive noen innledende tekst på vinduet. Vi skal se detaljene senere. Les prosedyren ovenfor koden hvis du ikke allerede har gjort det. Fra forrige del av serien, husk at når du har opprettet vinduet du ringe UpdateWindow funksjon for å male vinduet klientområdet. Denne funksjonen sender WM_PAINT melding til systemet køen. Meldingen kommer raskt i prosedyren (sendt av mens loop). Uttalelsene du skriver for CASE WM_PAINT i prosedyren skal male vinduet. Vi skal se detaljene senere.
Jeg håper du er nå verdsette Windows User Interface koding. Når du klikker på knappen Lukk på et vindu, blir WM_CLOSE melding sendt til køen ved vinduet. Fra køen blir det raskt sendes til fremgangsmåten (ved WHILE Loop). Uttalelsene for CASE WM_C
2 og jailbreak det for 1G, 2G, 3G bl…