Condividi tramite


TN070: nomi delle classi di finestre MFC

Nota

La seguente nota tecnica non è stata aggiornata da quando è stata inclusa per la prima volta nella documentazione online. Di conseguenza, alcune procedure e argomenti potrebbero essere non aggiornati o errati. Per le informazioni più recenti, è consigliabile cercare l'argomento di interesse nell'indice della documentazione online.

Le finestre MFC usano un nome di classe creato dinamicamente che riflette le funzionalità della finestra. MFC genera nomi di classe in modo dinamico per finestre cornice, visualizzazioni e finestre popup generate dall'applicazione. Le finestre di dialogo e i controlli prodotti da un'applicazione MFC hanno il nome fornito da Windows per la classe di finestra in questione.

È possibile sostituire il nome della classe fornito dinamicamente registrando la propria classe window e usandola in un override di PreCreateWindow. I nomi di classe forniti da MFC corrispondono a una delle due forme seguenti:

Afx:%x:%x
Afx:%x:%x:%x:%x:%x

Le cifre esadecimale che sostituiscono i %x caratteri vengono compilate dai dati della struttura WNDCLASS . MFC usa questa tecnica in modo che più classi C++ che richiedono strutture WNDCLASS identiche possano condividere la stessa classe finestra registrata. A differenza della maggior parte delle applicazioni Win32 semplici, le applicazioni MFC hanno un solo WNDPROC, quindi è possibile condividere facilmente le strutture WNDCLASS per risparmiare tempo e memoria. I valori sostituibili per i %x caratteri illustrati in precedenza sono i seguenti:

  • WNDCLASS.hInstance

  • WNDCLASS.style

  • WNDCLASS.hCursor

  • WNDCLASS.hbrBackground

  • WNDCLASS.hIcon

Il primo modulo (Afx:%x:%x) viene usato quando hCursor, hbrBackground e hIcon sono tutti NULL.

Vedi anche

Note tecniche per numero
Note tecniche per categoria
TN020: convenzioni di numerazione e denominazione ID