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.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Suporta as rotinas de troca de dados de diálogo (DDX) e validação de dados de diálogo (DDV) usadas pelas classes Microsoft Foundation.
Sintaxe
class CDataExchange
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CDataExchange::CDataExchange | Constrói um CDataExchange objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
| CDataExchange::Fail | Chamada quando a validação falha. Reinicia o foco no controlo anterior e lança uma exceção. |
| CDataExchange::P repareCtrl | Prepara o controlo especificado para a troca ou validação de dados. Use para controlos que não sejam editados. |
| CDataExchange::P repareEditCtrl | Prepara o controlo de edição especificado para troca ou validação de dados. |
| CDataExchange::P repareOleCtrl | Prepara o controlo OLE especificado para troca ou validação de dados. Use para controlos que não sejam editados. |
Membros de Dados Públicos
| Nome | Description |
|---|---|
| CDataExchange::m_bSaveAndValidate | Bandeira para a direção do DDX e DDV. |
| CDataExchange::m_pDlgWnd | A caixa de diálogo ou janela onde ocorre a troca de dados. |
Observações
CDataExchange não tem uma classe base.
Use esta classe se estiver a escrever rotinas de troca de dados para tipos de dados personalizados ou controlos, ou se estiver a escrever as suas próprias rotinas de validação de dados. Para mais informações sobre como escrever as suas próprias rotinas DDX e DDV, consulte a Nota Técnica 26. Para uma visão geral de DDX e DDV, consulte Troca e Validação de Dados de Diálogo e Caixas de Diálogo.
Um CDataExchange objeto fornece a informação de contexto necessária para que o DDX e o DDV ocorram. A m_bSaveAndValidate de flag é FALSE quando DDX é usado para preencher os valores iniciais dos controlos de diálogo a partir dos membros dos dados. A m_bSaveAndValidate de flag é VERDADEIRA quando DDX é usado para definir os valores atuais dos controlos de diálogo em membros de dados e quando DDV é usado para validar os valores de dados. Se a validação do DDV falhar, o procedimento DDV mostrará uma caixa de mensagem explicando o erro de entrada. O procedimento DDV chama então Fail para reiniciar o foco do controlo infrator e lança uma exceção para interromper o processo de validação.
Hierarquia de herança
CDataExchange
Requerimentos
Cabeçalho: afxwin.h
CDataExchange::CDataExchange
Chame esta função membro para construir um CDataExchange objeto.
CDataExchange(
CWnd* pDlgWnd,
BOOL bSaveAndValidate);
Parâmetros
pDlgWnd
Um ponteiro para a janela pai que contém o controlo. Normalmente, trata-se de um objeto derivado do CDialog.
bSaveAndValidate
Se for TRUE, este objeto valida os dados e depois escreve os dados dos controlos para os membros. Se for FALSE, este objeto moverá dados dos membros para controlos.
Observações
Construa um CDataExchange objeto você próprio para armazenar informação extra no objeto de troca de dados para passar à função membro CWnd::D oDataExchange da sua janela.
Example
CYourDataExchange dx(this, FALSE);
try
{
DoDataExchange(&dx);
}
catch (CUserException *pe)
{
// some part of the exchange went wrong
// but the user has already been notified
pe->Delete();
}
CDataExchange::Fail
O framework chama esta função membro quando uma operação de validação de dados de diálogo (DDV) falha.
void Fail();
Observações
Fail restaura o foco e a seleção para o controlo cuja validação falhou (se houver um controlo a restaurar).
Fail depois lança uma exceção do tipo CUserException para parar o processo de validação. A exceção faz com que uma caixa de mensagem que explica o erro seja exibida. Após a falha da validação DDV, o utilizador pode reintroduzir os dados no controlo problemático.
Os implementadores de rotinas DDV personalizadas podem chamar Fail as suas rotinas quando uma validação falha.
Para mais informações sobre como escrever as suas próprias rotinas DDX e DDV, consulte a Nota Técnica 26. Para uma visão geral de DDX e DDV, consulte Temas de Troca e Validação de Dados de Diálogo e Caixas de Diálogo.
CDataExchange::m_bSaveAndValidate
Esta bandeira indica a direção de uma operação de troca de dados de diálogo (DDX).
BOOL m_bSaveAndValidate;
Observações
A flag é diferente de zero se o CDataExchange objeto estiver a ser usado para mover dados dos controlos de diálogo para membros de dados de classe de diálogo após o utilizador editar os controlos. O flag é zero se o objeto estiver a ser usado para inicializar controlos de diálogo a partir de membros de dados da classe de diálogo.
A bandeira também não é nula durante a validação de dados de diálogo (DDV).
Para mais informações sobre como escrever as suas próprias rotinas DDX e DDV, consulte a Nota Técnica 26. Para uma visão geral de DDX e DDV, consulte Temas de Troca e Validação de Dados de Diálogo e Caixas de Diálogo.
CDataExchange::m_pDlgWnd
Contém um ponteiro para o objeto CWnd para o qual está a ocorrer a troca de dados de diálogo (DDX) ou validação (DDV).
CWnd* m_pDlgWnd;
Observações
Este objeto é geralmente um objeto CDialog . Implementadores de rotinas DDX ou DDV personalizadas podem usar este ponteiro para obter acesso à janela de diálogo que contém os controlos em que estão a operar.
Para mais informações sobre como escrever as suas próprias rotinas DDX e DDV, consulte a Nota Técnica 26. Para uma visão geral de DDX e DDV, consulte Temas de Troca e Validação de Dados de Diálogo e Caixas de Diálogo.
CDataExchange::P repareCtrl
A estrutura chama esta função membro para preparar o controlo especificado para troca de dados de diálogo (DDX) e validação (DDV).
HWND PrepareCtrl(int nIDC);
Parâmetros
nIDC
O ID do controlo a ser preparado para DDX ou DDV.
Valor de retorno
O HWND do controlo que está a ser preparado para DDX ou DDV.
Observações
Use PrepareEditCtrl para controlos de edição; Use esta função membro para todos os outros controlos.
A preparação consiste em armazenar o HWND do controlo na CDataExchange classe. O framework utiliza este handle para restaurar o foco ao controlo previamente focado no caso de falha DDX ou DDV.
Os implementadores de rotinas DDX ou DDV personalizadas devem exigir PrepareCtrl todos os controlos não editados para os quais estão a trocar dados via DDX ou a validar dados via DDV.
Para mais informações sobre como escrever as suas próprias rotinas DDX e DDV, consulte a Nota Técnica 26. Para uma visão geral de DDX e DDV, consulte Temas de Troca e Validação de Dados de Diálogo e Caixas de Diálogo.
CDataExchange::P repareEditCtrl
A estrutura chama esta função membro para preparar o controlo de edição especificado para troca de dados de diálogo (DDX) e validação (DDV).
HWND PrepareEditCtrl(int nIDC);
Parâmetros
nIDC
O ID do controlo de edição a preparar para DDX ou DDV.
Valor de retorno
O HWND do controlo de edição a ser preparado para DDX ou DDV.
Observações
Use o PrepareCtrl em vez disso para todos os controlos que não sejam edit.
A preparação consiste em duas coisas. Primeiro, PrepareEditCtrl armazena o HWND do controlo na CDataExchange classe. O framework utiliza este handle para restaurar o foco ao controlo previamente focado no caso de falha DDX ou DDV. Segundo, PrepareEditCtrl define um flag na CDataExchange classe para indicar que o controlo cujos dados estão a ser trocados ou validados é um controlo de edição.
Os implementadores de rotinas DDX ou DDV personalizadas devem exigir PrepareEditCtrl todos os controlos de edição para os quais estão a trocar dados via DDX ou a validar dados via DDV.
Para mais informações sobre como escrever as suas próprias rotinas DDX e DDV, consulte a Nota Técnica 26. Para uma visão geral de DDX e DDV, consulte Temas de Troca e Validação de Dados de Diálogo e Caixas de Diálogo.
CDataExchange::P repareOleCtrl
O framework chama esta função membro para preparar o controlo OLE especificado para troca de dados de diálogo (DDX) e validação (DDV).
COleControlSite* PrepareOleCtrl(int nIDC);
Parâmetros
nIDC
O ID do controlo OLE a preparar para DDX ou DDV.
Valor de retorno
Um apontador para o local de controlo OLE.
Observações
Use PrepareEditCtrl para controlos de edição ou PrepareCtrl para todos os outros controlos que não sejam OLE.
Os implementadores de rotinas DDX ou DDV personalizadas devem exigir PrepareOleCtrl todos os controlos OLE para os quais estão a trocar dados via DDX ou a validar dados via DDV.
Para mais informações sobre como escrever as suas próprias rotinas DDX e DDV, consulte a Nota Técnica 26. Para uma visão geral de DDX e DDV, consulte Temas de Troca e Validação de Dados de Diálogo e Caixas de Diálogo.
Consulte também
MFC Exemplo VIEWEX
Gráfico de Hierarquia
CWnd::D oDataExchange
CWnd::UpdateData