Acesso fortemente tipado a controles com assistentes de código
Se você estiver familiarizado com os recursos DDX, poderá usar a propriedade Control no Assistente para Adicionar Variável de Membro para criar acesso fortemente tipado. Essa abordagem é mais fácil do que criar controles sem assistentes de código.
Se você simplesmente quiser acessar o valor de um controle, o DDX o fornecerá. Se você quiser fazer mais do que acessar o valor de um controle, use o Assistente para Adicionar Variável de Membro para adicionar uma variável membro da classe apropriada à classe de caixa de diálogo. Anexe essa variável de membro à propriedade Control.
As variáveis de membro podem ter uma propriedade Control em vez de uma propriedade Value. A propriedade Value refere-se ao tipo de dados retornados do controle, como CString
ou int
. A propriedade Control permite acesso direto ao controle por meio de um membro de dados cujo tipo é uma das classes de controle no MFC, como CButton
ou CEdit
.
Observação
Para um determinado controle, você pode, se desejar, ter várias variáveis de membro com a propriedade Value e, no máximo, uma variável de membro com a propriedade Control. Você pode ter apenas um objeto MFC mapeado para um controle porque vários objetos anexados a um controle, ou qualquer outra janela, levariam a uma ambiguidade no mapa de mensagens.
Você pode usar esse objeto para chamar qualquer função de membro para o objeto de controle. Essas chamadas afetam o controle na caixa de diálogo. Por exemplo, para um controle de caixa de seleção representado por uma variável m_Checkbox, do tipo CButton
, você pode chamar:
m_Checkbox.SetCheck(BST_CHECKED);
Aqui, a variável membro m_Checkbox serve para a mesma finalidade da função membro GetMyCheckbox
mostrada no Acesso fortemente tipado a controles sem assistentes de código. Se a caixa de seleção não for uma caixa de seleção automática, você ainda precisará de um manipulador na classe de caixa de diálogo para a mensagem de notificação de controle BN_CLICKED quando o botão for clicado.
Para obter mais informações sobre controles, consulte Controles.
Confira também
Acesso fortemente tipado a controles em uma caixa de diálogo
Trabalhando com caixas de diálogo no MFC
Acesso fortemente tipado a controles sem assistentes de código