Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Você pode adicionar controles a uma caixa de diálogo com o editor de diálogo ou adicioná-los você mesmo, com código.
Para criar um objeto de controle por conta própria, você geralmente incorporará o objeto de controle C++ em uma caixa de diálogo C++ ou objeto de janela de quadro. Como muitos outros objetos na estrutura, os controles exigem construção de dois estágios. Você deve chamar a função membro Criar do controle como parte da criação da caixa de diálogo pai ou janela de quadro. Para caixas de diálogo, isso geralmente é feito em OnInitDialog, e para janelas de quadro , em OnCreate.
O exemplo a seguir mostra como você pode declarar um CEdit
objeto na declaração de classe de uma classe de diálogo derivada e, em seguida, chamar a Create
função de membro em OnInitDialog
. Como o objeto CEdit
é declarado como embutido, é construído automaticamente quando o objeto de diálogo é construído, mas ainda deve ser inicializado com a sua própria função-membro Create
.
class CCustomDialog : public CDialog
{
CEdit m_edit;
virtual BOOL OnInitDialog();
};
A função a seguir OnInitDialog
configura um retângulo e, em seguida, chama Create
para criar o controle de edição do Windows e anexá-lo ao objeto não inicializado CEdit
.
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 definir o foco de entrada para o controle chamando a SetFocus
função de membro. Finalmente, você retorna 0 de OnInitDialog
para mostrar que você definiu o foco. Se você retornar um valor diferente de zero, o gerenciador de diálogo definirá o foco para o primeiro item de controle na lista de itens de diálogo. Na maioria dos casos, convém adicionar controles às caixas de diálogo com o editor de diálogo.