Dela via


CWinApp: Programklassen

Huvudprogramklassen i MFC kapslar in initiering, körning och avslutning av ett program för Windows-operativsystemet. Ett program som bygger på ramverket måste ha ett och endast ett objekt i en klass som härleds från CWinApp. Det här objektet konstrueras innan fönster skapas.

CWinApp härleds från CWinThread, som representerar huvudtråden för körning för ditt program, som kan ha en eller flera trådar. I de senaste versionerna av MFC InitInstance är funktionerna Run, ExitInstance och OnIdle faktiskt i klassen CWinThread. Dessa funktioner beskrivs här som om de vore CWinApp medlemmar i stället, eftersom diskussionen gäller objektets roll som programobjekt i stället för som primär tråd.

Anmärkning

Din applikationsklass utgör din applikations primära exekveringstråd. Med hjälp av Win32 API-funktioner kan du också skapa sekundära körningstrådar. Dessa trådar kan använda MFC-biblioteket. Mer information finns i Multithreading.

Precis som alla program för Windows-operativsystemet har ditt ramverksprogram en WinMain funktion. I ett ramverksprogram skriver du dock inte WinMain. Det tillhandahålls av klassbiblioteket och anropas när programmet startas. WinMain utför standardtjänster, till exempel registrering av fönsterklasser. Den anropar sedan medlemsfunktioner i programobjektet för att initiera och köra programmet. (Du kan anpassa WinMain genom att åsidosätta de CWinApp medlemsfunktioner som WinMain anropar.)

Om du vill initiera programmet WinMain anropar du programobjektets InitApplication och InitInstance medlemsfunktionerna. För att köra applikationens meddelandeloop, anropar WinMain medlemsfunktionen Run. Vid avslutning WinMain anropar programobjektets ExitInstance medlemsfunktion.

Anmärkning

Namn som visas i fetstil i den här dokumentationen anger element som tillhandahålls av Microsoft Foundation-klassbiblioteket och Visual C++. Namn som visas i monospaced typ anger element som du skapar eller åsidosätter.

Se även

Allmänna MFC-ämnen
CWinApp och MFC-programguiden
Åsidosättbara CWinApp-medlemsfunktioner
Särskilda CWinApp-tjänster