Compartir a través de


Clase CNetDirecciónCtrl

La clase CNetAddressCtrl representa el control de dirección de red, que puede utilizar para especificar y validar el formato de direcciones IPv4, IPv6 y DNS con nombre.

Sintaxis

class CNetAddressCtrl : public CEdit

Miembros

Constructores públicos

Nombre Descripción
CNetAddressCtrl::CNetAddressCtrl Construye un objeto CNetAddressCtrl.

Métodos públicos

Nombre Descripción
CNetAddressCtrl::Create Crea un control de dirección de red con los estilos especificados y lo adjunta al objeto CNetAddressCtrl actual.
CNetAddressCtrl::CreateEx Crea un control de dirección de red con los estilos extendidos especificados y lo adjunta al objeto CNetAddressCtrl actual.
CNetAddressCtrl::DisplayErrorTip Muestra un globo de sugerencias de error cuando el usuario escribe una dirección de red no admitida en el control de dirección de red actual.
CNetAddressCtrl::GetAddress Recupera una representación validada y analizada de la dirección de red asociada al control de dirección de red actual.
CNetAddressCtrl::GetAllowType Recupera el tipo de dirección de red que el control de dirección de red actual puede admitir.
CNetAddressCtrl::SetAllowType Establece el tipo de dirección de red que el control de dirección de red actual puede admitir.

Comentarios

El control de dirección de red comprueba que el formato de la dirección que escribe el usuario es correcto. El control no se conecta realmente a la dirección de red. El método CNetAddressCtrl::SetAllowType especifica uno o varios tipos de dirección que el método CNetAddressCtrl::GetAddress puede analizar y comprobar. Una dirección puede tener el formato de una dirección IPv4, una dirección IPv6 o una dirección con nombre para un servidor, red, host o destino de mensaje de difusión. Si el formato de la dirección es incorrecto, se puede usar el método CNetAddressCtrl::DisplayErrorTip para mostrar un cuadro de mensaje de recuadro informativo que apunta gráficamente al cuadro de texto del control de dirección de red y muestra un mensaje de error predefinido.

La clase CNetAddressCtrl deriva de la clase CEdit. Por lo tanto, el control de dirección de red proporciona acceso a todos los mensajes de control de edición de Windows.

En la figura siguiente se muestra un cuadro de diálogo que contiene un control de dirección de red. El cuadro de texto (1) del control de dirección de red contiene una dirección de red no válida. Se muestra un mensaje de recuadro informativo (2) si la dirección de red no es válida.

Cuadro de diálogo con un control de direcciones de red e información sobre información.

Ejemplos

El ejemplo de código siguiente es una parte de un cuadro de diálogo que valida una dirección de red. Los controladores de eventos para los tres botones de radio especifican que la dirección de red puede ser uno de los tres tipos de direcciones. El usuario escribe una dirección en el cuadro de texto del control de red y, luego, presiona un botón para validar la dirección. Si la dirección es válida, se muestra un mensaje de operación correcta; de lo contrario, se muestra el mensaje de error de recuadro informativo predefinido.

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"));
   }

En el ejemplo de código siguiente del archivo de encabezado del cuadro de diálogo se definen las variables NC_ADDRESS y NET_ADDRESS_INFO que necesita el método CNetAddressCtrl::GetAddress.

NC_ADDRESS m_na;
NET_ADDRESS_INFO m_nai;

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CEdit

CNetAddressCtrl

Requisitos

Encabezado: afxcmn.h

Esta clase se admite en Windows Vista y versiones posteriores.

Los requisitos adicionales para esta clase se describen en Requisitos de compilación para controles comunes de Windows Vista.

CNetAddressCtrl::CNetAddressCtrl

Construye un objeto CNetAddressCtrl.

CNetAddressCtrl();

Comentarios

Use el método CNetAddressCtrl::Create o CNetAddressCtrl::CreateEx para crear un control de red y adjuntarlo al objeto CNetAddressCtrl.

CNetAddressCtrl::Create

Crea un control de dirección de red con los estilos especificados y lo adjunta al objeto CNetAddressCtrl actual.

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

Parámetros

dwStyle
[in] Combinación bit a bit de los estilos que se aplicarán al control. Para obtener más información, consulte Estilos de edición.

rect
[in] Referencia a una estructura RECT que contiene la posición y el tamaño del control.

pParentWnd
[in] Puntero que no es nulo a un objeto CWnd que es la ventana primaria del control.

Nid
[in] Identificador del control.

Valor devuelto

TRUE si este método se ejecuta correctamente; de lo contrario, FALSE.

CNetAddressCtrl::CreateEx

Crea un control de dirección de red con los estilos extendidos especificados y lo adjunta al objeto CNetAddressCtrl actual.

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

Parámetros

dwExStyle
[in] Combinación bit a bit (OR) de los estilos extendidos que se aplicarán al control. Para obtener más información, consulte el parámetro dwExStyle de la función CreateWindowEx.

dwStyle
[in] Combinación bit a bit (OR) de los estilos que se aplicarán al control. Para obtener más información, consulte Estilos de edición.

rect
[in] Referencia a una estructura RECT que contiene la posición y el tamaño del control.

pParentWnd
[in] Puntero que no es nulo a un objeto CWnd que es la ventana primaria del control.

Nid
[in] Identificador del control.

Valor devuelto

TRUE si este método se ejecuta correctamente; de lo contrario, FALSE.

CNetAddressCtrl::DisplayErrorTip

Muestra un mensaje de error en el globo de sugerencias, asociado al control de dirección de red actual.

HRESULT DisplayErrorTip();

Valor devuelto

Se devuelve el valor S_OK si este método es correcto; de lo contrario, un código de error.

Comentarios

Use el método CNetAddressCtrl::SetAllowType para especificar los tipos de direcciones que puede admitir el control de dirección de red actual. Use el método CNetAddressCtrl::GetAddress para validar y analizar la dirección de red que escribe el usuario. Use el método CNetAddressCtrl::DisplayErrorTip para mostrar un recuadro informativo de mensaje de error si el método CNetAddressCtrl::GetAddress no es correcto.

Este mensaje invoca la macro NetAddr_DisplayErrorTip, que se describe en Windows SDK. Esa macro envía el mensaje NCM_DISPLAYERRORTIP.

CNetAddressCtrl::GetAddress

Recupera una representación validada y analizada de la dirección de red que está asociada al control de dirección de red actual.

HRESULT GetAddress(PNC_ADDRESS pAddress) const;

Parámetros

pAddress
[in, out] Puntero a una estructura NC_ADDRESS. Establezca el miembro pAddrInfo de esta estructura en la dirección de una estructura NET_ADDRESS_INFO antes de llamar al método GetAddress.

Valor devuelto

Se devuelve el valor S_OK si este método es correcto; de lo contrario, un código de error COM. Para obtener más información sobre los posibles códigos de error, consulte la sección Valor devuelto de la macro NetAddr_GetAddress.

Comentarios

Si este método se ejecuta correctamente, la estructura NET_ADDRESS_INFO contiene información adicional sobre la dirección de red.

Use el método CNetAddressCtrl::SetAllowType para especificar los tipos de direcciones que puede admitir el control de dirección de red actual. Use el método CNetAddressCtrl::GetAddress para validar y analizar la dirección de red que escribe el usuario. Use el método CNetAddressCtrl::DisplayErrorTip para mostrar un recuadro informativo de mensaje de error si el método CNetAddressCtrl::GetAddress no es correcto.

Este método invoca la macro NetAddr_GetAddress, que se describe en Windows SDK. Esa macro envía el mensaje NCM_GETADDRESS.

CNetAddressCtrl::GetAllowType

Recupera el tipo de dirección de red que el control de dirección de red actual puede admitir.

DWORD GetAllowType() const;

Valor devuelto

Combinación bit a bit (OR) de marcas que especifica los tipos de direcciones que el control de dirección de red puede admitir. Para obtener más información, consulte NET_STRING.

Comentarios

Este mensaje invoca la macro NetAddr_GetAllowType, que se describe en Windows SDK. Esa macro envía el mensaje NCM_GETALLOWTYPE.

CNetAddressCtrl::SetAllowType

Establece el tipo de dirección de red que el control de dirección de red actual puede admitir.

HRESULT SetAllowType(DWORD dwAddrMask);

Parámetros

dwAddrMask
[in] Combinación bit a bit (OR) de marcas que especifica los tipos de direcciones que el control de dirección de red puede admitir. Para obtener más información, consulte NET_STRING.

Valor devuelto

Se devuelve S_OK si este método es correcto; de lo contrario, un código de error COM.

Comentarios

Use el método CNetAddressCtrl::SetAllowType para especificar los tipos de direcciones que puede admitir el control de dirección de red actual. Use el método CNetAddressCtrl::GetAddress para validar y analizar la dirección de red que escribe el usuario. Use el método CNetAddressCtrl::DisplayErrorTip para mostrar un recuadro informativo de mensaje de error si el método CNetAddressCtrl::GetAddress no es correcto.

Este mensaje invoca la macro NetAddr_SetAllowType, que se describe en Windows SDK. Esa macro envía el mensaje NCM_SETALLOWTYPE.

Consulte también

CNetAddressCtrl (clase)
Gráfico de jerarquías
CEdit (clase)