Classi di finestra derivate

È possibile creare finestre direttamente da CWndo derivare nuove classi di finestre da CWnd. Si tratta di come in genere si creano finestre personalizzate. Tuttavia, la maggior parte delle finestre usate in un programma framework viene invece creata da una delle CWndclassi frame-window derivate fornite da MFC.

Classi della finestra cornice

CFrameWnd
Utilizzato per le finestre cornice SDI che incorniciano un singolo documento e la relativa visualizzazione. La finestra cornice è sia la finestra cornice principale per l'applicazione che la finestra cornice per il documento corrente.

CMDIFrameWnd
Usato come finestra cornice principale per le applicazioni MDI. La finestra cornice principale è un contenitore per tutte le finestre dei documenti MDI e condivide la barra dei menu con esse. Una finestra cornice MDI è una finestra di primo livello visualizzata sul desktop.

CMDIChildWnd
Usato per i singoli documenti aperti in una finestra cornice principale MDI. Ogni documento e la relativa visualizzazione sono incorniciati da una finestra cornice figlio MDI contenuta nella finestra cornice principale MDI. Una finestra figlio MDI è simile a una finestra cornice tipica, ma è contenuta all'interno di una finestra cornice MDI anziché seduta sul desktop. Tuttavia, la finestra figlio MDI non dispone di una barra dei menu personalizzata. Deve condividere la barra dei menu della finestra cornice MDI che lo contiene.

Per altre informazioni, vedere Finestre cornice.

Altre classi di finestre derivate da CWnd

Oltre alle finestre cornice, diverse altre categorie principali di finestre sono derivate da CWnd:

  • Visualizzazioni:
    Le viste vengono create usando la CWndclasse CView derivata da o una delle relative classi derivate. Una visualizzazione è collegata a un documento e funge da intermediario tra il documento e l'utente. Una visualizzazione è una finestra figlio (non un figlio MDI) che in genere riempie l'area client di una finestra cornice SDI o una finestra cornice figlio MDI (o quella parte dell'area client non coperta da una barra degli strumenti o da una barra di stato).

  • Finestre di dialogo:
    Le finestre di dialogo vengono create usando la CWndclasse CDialogderivata da .

  • Moduli:
    Le visualizzazioni modulo basate sulle risorse del modello di finestra di dialogo, ad esempio le finestre di dialogo, vengono create usando classi CFormView, CRecordViewo CDaoRecordView.

  • Controlli:
    I controlli come pulsanti, caselle di riepilogo e caselle combinate vengono creati usando altre classi derivate da CWnd. Vedere Argomenti relativi al controllo.

  • Barre di controllo:
    Finestre figlio che contengono controlli. Gli esempi includono barre degli strumenti e barre di stato. Vedere Barre di controllo.

Gerarchia della classe Window

Fare riferimento al grafico gerarchia MFC nel riferimento MFC. Le visualizzazioni sono illustrate nell'architettura documento/visualizzazione. Le finestre di dialogo sono illustrate nelle finestre di dialogo.

Creazione di classi finestra per scopi speciali

Oltre alle classi finestra fornite dalla libreria di classi, potrebbero essere necessarie finestre figlio per scopi speciali. Per creare una finestra di questo tipo, creare la propria CWndclasse derivata da e impostarla come finestra figlio di una cornice o di una vista. Tenere presente che il framework gestisce l'estensione dell'area client di una finestra cornice documento. La maggior parte dell'area client è gestita da una visualizzazione, ma altre finestre, ad esempio le barre di controllo o le finestre personalizzate, possono condividere lo spazio con la visualizzazione. Potrebbe essere necessario interagire con i meccanismi nelle classi CView e CControlBar per posizionare le finestre figlio nell'area client di una finestra cornice.

La creazione di finestre illustra la creazione di oggetti finestra e le finestre gestite.

Vedi anche

Oggetti Window