Compartilhar via


Classes derivadas da janela

Você pode criar janelas diretamente do CWnd, ou derivar novas classes de janela de CWnd.Isso é como você normalmente criar janelas personalizadas.No entanto, a maioria dos windows usados em um programa de estrutura são criadas de um a CWnd-derivadas de classes de janela de quadro fornecidos pelo MFC.

Classes de janela de quadro

  • CFrameWnd
    Usado para o windows de quadro SDI que um único documento e seu modo de exibição de quadro.A janela do quadro é a janela do quadro principal do aplicativo e a janela do quadro para o documento atual.

  • CMDIFrameWnd
    Usado como a janela do quadro principal para aplicativos MDI.A janela do quadro principal é um contêiner para todas as janelas de documento MDI e compartilha sua barra de menu com eles.Uma janela de quadro MDI é uma janela de nível superior que aparece na área de trabalho.

  • CMDIChildWnd
    Usada para documentos individuais abertos em uma janela do quadro principal MDI.Cada documento e seu modo de exibição são framed 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ípica mas está contida dentro de uma janela de quadro MDI em vez de sentado na área de trabalho.Entretanto, a janela filho MDI não tem uma barra de menu próprio e deve compartilhar a barra de menus da janela de quadro MDI que o contém.

    Para obter mais informações, consulte Quadro Windows.

Outras Classes de janela derivadas de CWnd

Além para windows de quadro, várias outras categorias principais do windows 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 como 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 cliente de uma janela de quadro SDI ou uma janela de quadro MDI filho (ou parte da área cliente não coberta por uma barra de ferramentas e/ou uma barra 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 em recursos de modelo de diálogo, tais como caixas de diálogo são criados usando classes CFormView, CRecordView, ou CDaoRecordView.

  • Controles
    Controles como botões, caixas de listagem e caixas de combinação são criados usando outras classes derivadas de CWnd.Consulte Tópicos controle.

  • Barras de controle
    Janelas filho que contêm controles.Exemplos incluem barras de ferramentas e barras de status.Consulte Barras de controle.

Hierarquia de classe de janela

Consulte o gráfico de hierarquia do MFC na Referência MFC.Modos de exibição são explicados na Exibição do documento arquitetura.Caixas de diálogo são explicadas na Caixas de diálogo.

Criando suas próprias Classes de janela de propósito especial

Além das classes de janela fornecidas pela biblioteca de classe, você pode precisa janelas filho de finalidade especial.Para criar tal uma janela, criar seu próprio CWnd-classe derivada e torná-lo uma janela filho de um quadro ou modo de exibição.Tenha em mente que a estrutura gerencia a extensão da área cliente de uma janela de quadro do documento.A maioria da área do cliente é gerenciado por um modo de exibição, mas outras janelas, como controle de barras ou seu próprio windows personalizado pode compartilham o espaço com o modo de exibição.Talvez você precise interagir com os mecanismos de classes CView e CControlBar para o posicionamento de janelas filho na área cliente da janela de quadro.

Criando Windows discute a criação de objetos de janela e os Windows windows gerenciam.

Consulte também

Conceitos

Objetos de janela