Compartilhar via


Adicionando controles à mão

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

Para criar um objeto de controle, você normalmente irá incorporar o objeto de controle de C++ em uma caixa de diálogo de C++ ou janela de quadro.Como muitos outros objetos na estrutura, os controles requerem construção de dois estágios.Você deve chamar o controle criar função de membro como parte da criação da janela de moldura ou caixa de diálogo pai.Para caixas de diálogo, geralmente isso é feito OnInitDialoge para o windows de quadro, em OnCreate.

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

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

Seguintes OnInitDialog função define um retângulo, em seguida, chama criar para criar o controle de edição do Windows e anexá-lo para o 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;
}

Após criar o objeto de editar, você também pode definir o foco de entrada para o controle chamando o SetFocus função de membro.Por fim, retornar 0 do OnInitDialog para mostrar que você definir 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 item de caixa de diálogo.Na maioria dos casos, você desejará adicionar controles a sua caixa de diálogo com o editor de diálogo.

Consulte também

Referência

Fazer e usar controles

CDialog::OnInitDialog

Conceitos

Controles (MFC)