Dela via


Registrera fönsterklasser

Fönsterklasser i traditionell programmering för Windows definierar egenskaperna för en "klass" (inte en C++-klass) som valfritt antal fönster kan skapas från. Den här typen av klass är en mall eller modell för att skapa fönster.

Registrering av Windows-klass i traditionella program till Windows

I ett traditionellt program för Windows, utan MFC, bearbetar du alla meddelanden till ett fönster i dess "fönsterprocedur" eller "WndProc". A WndProc associeras med ett fönster med hjälp av en process för "registrering av fönsterklass". Huvudfönstret är registrerat i WinMain funktionen, men andra windowsklasser kan registreras var som helst i programmet. Registreringen beror på en struktur som innehåller en pekare till WndProc funktionen tillsammans med specifikationer för markören, bakgrundspenseln och så vidare. Strukturen skickas som en parameter, tillsammans med klassens strängnamn, i ett tidigare anrop till RegisterClass funktionen. Därför kan en registreringsklass delas av flera fönster.

Registrering av fönsterklass i MFC-program

Däremot utförs de flesta fönsterklassregistreringsaktiviteter automatiskt i ett MFC-ramverksprogram. Om du använder MFC härleder du vanligtvis en C++-fönsterklass från en befintlig biblioteksklass med hjälp av den normala C++-syntaxen för klassarv. Ramverket använder fortfarande traditionella "registreringsklasser", och det innehåller flera standardklasser som registrerats åt dig när det behövs. Du kan registrera ytterligare registreringsklasser genom att anropa den globala funktionen AfxRegisterWndClass och sedan överföra den registrerade klassen till medlemsfunktionen CreateCWnd. Som beskrivs här ska den traditionella "registreringsklassen" i Windows inte förväxlas med en C++-klass.

Mer information finns i Technical Note 1.

Se även

Skapa Windows