Lär känna Windows - Del 8 Volym - Windows User Interface Introduktion Detta är en del 8 av min serie, Lära känna Windows. Jag antar att du har läst alla tidigare tutorials före detta. Du bör vara att läsa tutorials i angiven ordning. I denna del av serien ser vi på grundläggande kodning av fönsterklassen förfarandet. Obs: Om du inte kan se koden, eller om du tror att något saknas (bruten länk, bild frånvarande), bara att kontakta mig på [email protected]. Det vill säga, kontakta mig för minsta problem du har om vad du läser.
Uppbyggnad av Window Class Förfarande Förfarandet fönsterklass tar fyra parametrar och returnerar ett enda värde. Uppsättningen av fyra parametrar är budskapet från systemskön. Vi har pratat om det här förut. Kroppen av förfarandet använder en switch konstruera så för C ++. Du kan ha kapslade kopplings konstruktioner. En typisk fönster Tillvägagångssätt Följande är ett typiskt fönster förfarande kod: lResult ÅTER MainWndProc (HWND hwnd, UINT uMsg, WPARAM wParam, lParam lParam) {switch (uMsg) {case WM_CREATE: //Initiera fönstret. återvända 0; fall WM_PAINT: //Måla fönstrets klientområde.
återvända 0; fall WM_CLOSE: //Avsluta. återvända 0; fall WM_DESTROY: //Städa upp fönsterspecifika dataobjekt. återvända 0; ////Process andra meddelanden. //Default: tillbaka DefWindowProc (hwnd, uMsg, wParam, lParam); } Återvända 0; } Varje fall blocket har en eller flera satser. Allt är lika, bör den sista uttalandet är "tillbaka 0". I de fall ovanför meddelandet tas emot av uMsg parametern. De delar av meddelandet i parametrarna wParam och lParam är inte viktigt för oss nu (antar att). Den WM_CREATE meddelande skickas till förfarandet strax efter ditt fönster skapas.
I detta fall i förfarandet, kan du göra en del initialisering av fönstret, som att skriva några inledande text i fönstret. Vi skall se detaljer senare. Läs ovanstående procedur koden om du inte redan har gjort det. Från den tidigare delen av serien, kom ihåg att när du skapar fönstret du ringa UpdateWindow funktion för att måla fönstrets klientområde. Denna funktion skickar WM_PAINT meddelande till systemet skön. Meddelandet kommer snabbt i förfarandet (sänds av MEDAN Loop). De uttalanden som du skriver för CASE WM_PAINT i förfarandet ska måla fönstret. Vi skall se detaljer senare.
Jag hoppas att ni nu uppskattar Windows User Interface kodning. När du klickar på knappen Stäng av ett fönster, är WM_CLOSE meddelande som skickas till kön vid fönstret. Från kön är det snabbt skickas