Compartilhar via


CNetAddressCtrl Class

A classe CNetAddressCtrl representa o controle de endereço de rede, que você pode usar para inserir e validar o formato de endereços IPv4, IPv6 e DNS nomeados.

Sintaxe

class CNetAddressCtrl : public CEdit

Membros

Construtores públicos

Nome Descrição
CNetAddressCtrl::CNetAddressCtrl Constrói um objeto CNetAddressCtrl.

Métodos públicos

Nome Descrição
CNetAddressCtrl::Create Cria um controle de endereço de rede com estilos especificados e o anexa ao objeto atual CNetAddressCtrl.
CNetAddressCtrl::CreateEx Cria um controle de endereço de rede com estilos estendidos especificados e o anexa ao objeto atual CNetAddressCtrl.
CNetAddressCtrl::DisplayErrorTip Exibe uma dica de balão de erro quando o usuário insere um endereço de rede sem suporte no controle de endereço de rede atual.
CNetAddressCtrl::GetAddress Recupera uma representação validada e analisada do endereço de rede associado ao controle de endereço de rede atual.
CNetAddressCtrl::GetAllowType Recupera o tipo de endereço de rede que o controle de endereço de rede atual pode dar suporte.
CNetAddressCtrl::SetAllowType Define o tipo de endereço de rede que o controle de endereço de rede atual pode dar suporte.

Comentários

O controle de endereço de rede verifica se o formato do endereço que o usuário insere está correto. Na verdade, o controle não se conecta ao endereço de rede. O método CNetAddressCtrl::SetAllowType especifica um ou mais tipos de endereço que o método CNetAddressCtrl::GetAddress pode analisar e verificar. Um endereço pode estar na forma de um IPv4, IPv6 ou endereço nomeado para um servidor, rede, host ou destino de mensagem de transmissão. Se o formato do endereço estiver incorreto, você pode usar o método CNetAddressCtrl::D isplayErrorTip para exibir uma caixa de mensagem de dica de informações que aponta graficamente para a caixa de texto do controle de endereço de rede e exibe uma mensagem de erro predefinida.

Essa classe CNetAddressCtrl é derivada da classe CEdit. Consequentemente, o controle de endereço de rede fornece acesso a todas as mensagens de controle de edição do Windows.

A figura a seguir ilustra uma caixa de diálogo que contém um controle de endereço de rede. A caixa de texto (1) para o controle de endereço de rede contém um endereço de rede inválido. A mensagem de dica de informação (2) será exibida se o endereço de rede for inválido.

Diálogo com um controle de endereço de rede e dica de informações.

Exemplos

O exemplo de código a seguir é uma parte de uma caixa de diálogo que valida um endereço de rede. Os manipuladores de eventos para três botões de opção especificam que o endereço de rede pode ser um dos três tipos de endereço. O usuário insere um endereço na caixa de texto do controle de rede e, em seguida, pressiona um botão para validar o endereço. Se o endereço for válido, uma mensagem de êxito será exibida. Caso contrário, a mensagem de erro da dica de informações predefinida será exibida.

void CCNetAddressCtrl_s1Dlg::OnBnClickedRadio1()
{
   m_netAddr.SetAllowType(NET_STRING_IPV4_ADDRESS);
}

void CCNetAddressCtrl_s1Dlg::OnBnClickedRadio2()
{
   m_netAddr.SetAllowType(NET_STRING_IPV6_ADDRESS);
}

void CCNetAddressCtrl_s1Dlg::OnBnClickedRadio3()
{
   m_netAddr.SetAllowType(NET_STRING_NAMED_ADDRESS);
}

void CCNetAddressCtrl_s1Dlg::OnBnClickedButton1()
{
   m_na.pAddrInfo = &m_nai;
   HRESULT rslt = m_netAddr.GetAddress(&m_na);
   if (rslt != S_OK)
      m_netAddr.DisplayErrorTip();
   else
   {
      MessageBox(
          _T("Success!"), _T("Validation Results"));
   }

O exemplo de código a seguir do arquivo de cabeçalho da caixa de diálogo define as variáveis NC_ADDRESS e NET_ADDRESS_INFO exigidas pelo método CNetAddressCtrl::GetAddress.

NC_ADDRESS m_na;
NET_ADDRESS_INFO m_nai;

Hierarquia de herança

CObject

CCmdTarget

CWnd

CEdit

CNetAddressCtrl

Requisitos

Cabeçalho: afxcmn.h

Essa classe é compatível com o Windows Vista e posterior.

Requisitos adicionais para essa classe são descritos nos Requisitos de build para controles comuns do Windows Vista.

CNetAddressCtrl::CNetAddressCtrl

Constrói um objeto CNetAddressCtrl.

CNetAddressCtrl();

Comentários

Use o método CNetAddressCtrl::Create ou CNetAddressCtrl::CreateEx para criar um controle de rede e anexá-lo ao objeto CNetAddressCtrl.

CNetAddressCtrl::Create

Cria um controle de endereço de rede com estilos especificados e o anexa ao objeto atual CNetAddressCtrl.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parâmetros

dwStyle
[in] Uma combinação bit a bit de estilos a serem aplicados ao controle. Para obter mais informações, confira Editar estilos.

rect
[in] Uma referência a uma estrutura RECT que contém a posição e o tamanho do controle.

pParentWnd
[in]Um ponteiro não nulo para um objeto CWnd que é a janela pai do controle.

Nid
[in] A ID do controle.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

CNetAddressCtrl::CreateEx

Cria um controle de endereço de rede com estilos estendidos especificados e o anexa ao objeto atual CNetAddressCtrl.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parâmetros

dwExStyle
[in] Uma combinação bit a bit (OU) de estilos estendidos a serem aplicados ao controle. Para obter mais informações, consulte o parâmetro dwExStyle da função CreateWindowEx.

dwStyle
[in] Uma combinação bit a bit (OU) de estilos a serem aplicados ao controle. Para obter mais informações, confira Editar estilos.

rect
[in] Uma referência a uma estrutura RECT que contém a posição e o tamanho do controle.

pParentWnd
[in]Um ponteiro não nulo para um objeto CWnd que é a janela pai do controle.

Nid
[in] A ID do controle.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

CNetAddressCtrl::DisplayErrorTip

Exibe uma mensagem de erro na dica de balão associada ao controle de endereço de rede atual.

HRESULT DisplayErrorTip();

Valor de retorno

O valor S_OK se esse método for bem-sucedido, caso contrário, um código de erro.

Comentários

Use o método CNetAddressCtrl::SetAllowType para especificar os tipos de endereços aos quais o controle de endereço de rede atual pode dar suporte. Use o método CNetAddressCtrl::GetAddress para validar e analisar o endereço de rede inserido pelo usuário. Use o método CNetAddressCtrl::DisplayErrorTip para exibir uma dica de informações de mensagem de erro se o método CNetAddressCtrl::GetAddress não for bem sucedido.

Essa mensagem chama a macro NetAddr_DisplayErrorTip, que é descrita no SDK do Windows. Essa macro envia a mensagem NCM_DISPLAYERRORTIP.

CNetAddressCtrl::GetAddress

Recupera uma representação validada e analisada do endereço de rede associado ao controle de endereço de rede atual.

HRESULT GetAddress(PNC_ADDRESS pAddress) const;

Parâmetros

pAddress
[in, out] Ponteiro para uma estrutura NC_ADDRESS. Defina o membro pAddrInfo dessa estrutura como o endereço de uma estrutura NET_ADDRESS_INFO antes de chamar o método GetAddress.

Valor de retorno

O valor S_OK se esse método for bem-sucedido, caso contrário, um código de erro COM. Para obter mais informações sobre os possíveis códigos de erro, consulte a seção Valor retornado da macro NetAddr_GetAddress.

Comentários

Se esse método for bem-sucedido, a estrutura NET_ADDRESS_INFO conterá informações adicionais sobre o endereço de rede.

Use o método CNetAddressCtrl::SetAllowType para especificar os tipos de endereços aos quais o controle de endereço de rede atual pode dar suporte. Use o método CNetAddressCtrl::GetAddress para validar e analisar o endereço de rede inserido pelo usuário. Use o método CNetAddressCtrl::DisplayErrorTip para exibir uma dica de informações de mensagem de erro se o método CNetAddressCtrl::GetAddress não for bem sucedido.

Esse método invoca a macro NetAddr_GetAddress, que é descrita no SDK do Windows. Essa macro envia a mensagem NCM_GETADDRESS.

CNetAddressCtrl::GetAllowType

Recupera o tipo de endereço de rede que o controle de endereço de rede atual pode dar suporte.

DWORD GetAllowType() const;

Valor de retorno

Uma combinação bit a bit (OU) de sinalizadores que especifica os tipos de endereços que o controle de endereço de rede pode dar suporte. Para mais informações, confira NET_STRING.

Comentários

Essa mensagem chama a macro NetAddr_GetAllowType, que é descrita no SDK do Windows. Essa macro envia a mensagem NCM_GETALLOWTYPE.

CNetAddressCtrl::SetAllowType

Define o tipo de endereço de rede que o controle de endereço de rede atual pode dar suporte.

HRESULT SetAllowType(DWORD dwAddrMask);

Parâmetros

dwAddrMask
[in]Uma combinação bit a bit (OU) de sinalizadores que especifica os tipos de endereços que o controle de endereço de rede pode dar suporte. Para mais informações, confira NET_STRING.

Valor de retorno

S_OK se esse método for bem-sucedido, caso contrário, um código de erro COM.

Comentários

Use o método CNetAddressCtrl::SetAllowType para especificar os tipos de endereços aos quais o controle de endereço de rede atual pode dar suporte. Use o método CNetAddressCtrl::GetAddress para validar e analisar o endereço de rede inserido pelo usuário. Use o método CNetAddressCtrl::DisplayErrorTip para exibir uma dica de informações de mensagem de erro se o método CNetAddressCtrl::GetAddress não for bem sucedido.

Essa mensagem chama a macro NetAddr_SetAllowType, que é descrita no SDK do Windows. Essa macro envia a mensagem NCM_SETALLOWTYPE.

Confira também

Classe CNetAddressCtrl
Gráfico da hierarquia
Classe CEdit