Classes derivadas de janela
Você pode criar janelas diretamente de CWnd, ou derivar de novas classes de janela de CWnd. Isso é como você normalmente cria suas próprias janelas personalizadas.Entretanto, maioria das janelas usado em um programa de estrutura em vez disso, são criadas de uma do CWnd-classes de janela de quadro fornecidos pelo MFC derivadas.
Classes de janela de quadro
CFrameWnd
Usado para janelas de quadro SDI que um único documento e a exibição de quadros.A janela do quadro é a janela do quadro principal do aplicativo e a janela do quadro do documento corrente.CMDIFrameWnd
Usado sistema autônomo a janela do quadro principal para aplicativos MDI.A janela do quadro principal é um contêiner para todas as janelas de documento MDI e compartilhamentos seu menu BAR com eles.Uma janela de quadro MDI é uma janela de nível superior que aparece na área de trabalho.CMDIChildWnd
Usado para documentos individuais abertos em uma janela do quadro principal MDI.Cada documento e seu modo de exibição são enquadrados por uma janela de quadro MDI filho contida a janela do quadro principal MDI.Uma janela de filho MDI é muito parecida com uma janela do quadro típico mas contida em uma janela de quadro MDI em vez de na área de trabalho.No entanto, a janela filho MDI não tem uma BAR de menus de si próprio e deve compartilhar a BAR de menus da janela de quadro MDI que o contém.Para obter mais informações, consulte Quadro Windows.
Classes de janela Outros derivados de CWnd
Juntamente com janelas de quadro, vários Outros categorias principais de janelas são derivadas de CWnd:
Modos de exibição
Modos de exibição são criados usando o CWnd-classe derivada CView (ou uma de suas classes derivadas).Um modo de exibição é anexado a um documento e atua sistema autônomo um intermediário entre o documento e o usuário.Um modo de exibição é uma janela filho (não é um filho MDI) que normalmente preenche a área de cliente de uma janela de quadro SDI ou uma janela de quadro MDI filho (ou a parte da área do cliente não coberta por uma BAR de ferramentas e/ou em uma BAR de status).Caixas de diálogo
Caixas de diálogo são criadas usando o CWnd-classe derivada CDialog.Formulários
Modos de exibição de formulário com base no modelo de diálogo recursos, tais sistema autônomo caixas de diálogo, são criados usando classes CFormView, CRecordView, or CDaoRecordView.Controles
Controles sistema autônomo botões, caixas de listagem e caixas de combinação são criadas com outras classes derivadas de CWnd. See Tópicos de controle.Barras de controle
Janelas filho que contêm controles.Exemplos incluem barras de ferramentas e barras de status.See Barras de controle.
Janela hierarquia de classe
Consulte o Gráfico de hierarquia do MFC in the Referência da MFC.Modos de exibição são explicados na Arquitetura de documento/exibição.Caixas de diálogo são explicadas em Caixas de diálogo.
Criando suas próprias classes de janela de propósito especial
Juntamente com as classes de janela fornecidas pela biblioteca de classes, talvez seja necessário janelas filho de finalidade especial.Para criar uma janela de tal, criar seu próprio CWnd - classe derivada e fazer com que uma janela filho de um quadro ou o modo de exibição.Lembre-se de que a estrutura gerencia a extensão da área de cliente da janela de quadro de uma documento.A maioria da área de cliente é gerenciado por um modo de exibição, mas outras janelas, sistema autônomo controle de barras ou suas próprias janelas personalizadas, pode compartilhar o espaço com o modo de exibição.Você pode precisar interagir com os mecanismos de classes CView and CControlBar para o posicionamento de janelas filho na área de cliente de uma janela do quadro.
Criando Windows aborda a criação de objetos de janela e as janelas do Windows que gerenciam.