Partilhar via


Adicionando controles em mão

Você pode qualquer um dos Adicionar controles a uma caixa de diálogo com o editor da caixa de diálogo ou adicioná-los você mesmo, com código.

Para criar um objeto de controle, você geralmente irá incorporar o objeto de controle do C++ em uma caixa de diálogo C++ ou janela do quadro objeto.Como muitos outros objetos na estrutura, os controles requerem construção de dois estágios.Você deve telefonar Criarfunção de membro sistema autônomo parte da criação da janela de caixa ou quadro de diálogo pai.Para caixas de diálogo, normalmente, isso é concluído em OnInitDialoge para janelas de quadro, em OnCreate.

O exemplo a seguir mostra como você pode declarar um CEdit objeto na declaração da classe de uma classe derivada de diálogo e, em seguida, chamamos o Criar função membro OnInitDialog. Porque o CEdit objeto for declarado sistema autônomo um objeto incorporado, ela é construída automaticamente quando o objeto de caixa de diálogo é construído, mas ainda deve ser inicializada com seu próprio Criarfunção de membro .

class CCustomDialog : public CDialog
{
   CEdit m_edit;
   virtual BOOL OnInitDialog();
};

A seguir OnInitDialog função configura um retângulo, em seguida, chama Criar para criar o Windows controle de edição e anexá-lo à não-inicializado CEdit objeto.

BOOL CCustomDialog::OnInitDialog()
{
    CDialog::OnInitDialog();
    CRect rect(85, 110, 180, 210);

    m_edit.Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP |
             ES_AUTOHSCROLL | WS_BORDER, rect, this, IDC_EXTRA_EDIT);
    m_edit.SetFocus();
    return FALSE;
}

Depois de criar o objeto de edição, você também pode conjunto o foco de entrada ao controle chamando o SetFocus função de membro. Finalmente, você retornar 0 de OnInitDialog para mostrar que você defina o foco. Se você retornar um valor diferente de zero, o Gerenciador de caixa de diálogo define o foco para o primeiro item de controle na lista de itens de caixa de diálogo.Na maioria dos casos, você desejará adicionar controles à sua caixa de diálogo com o editor da caixa de diálogo.

Consulte também

Conceitos

Controles (MFC)

Referência

Fazer e usar controles

CDialog::OnInitDialog