Поделиться через


Класс CNetAddressCtrl

Класс CNetAddressCtrl представляет элемент управления сетевого адреса, который можно использовать для ввода и проверки формата IPv4, IPv6 и именованных адресов DNS.

Синтаксис

class CNetAddressCtrl : public CEdit

Участники

Открытые конструкторы

Имя Описание
CNetAddressCtrl::CNetAddressCtrl Формирует объект CNetAddressCtrl.

Открытые методы

Имя Описание
CNetAddressCtrl::Create Создает элемент управления сетевым адресом с указанными стилями и присоединяет его к текущему CNetAddressCtrl объекту.
CNetAddressCtrl::CreateEx Создает элемент управления сетевым адресом с указанными расширенными стилями и подключает его к текущему CNetAddressCtrl объекту.
CNetAddressCtrl::D isplayErrorTip Отображает подсказку об ошибке, когда пользователь вводит неподдерживаемый сетевой адрес в текущем элементе управления сетевым адресом.
CNetAddressCtrl::GetAddress Извлекает проверенное и проанализированное представление сетевого адреса, связанного с текущим элементом управления сетевыми адресами.
CNetAddressCtrl::GetAllowType Извлекает тип сетевого адреса, который может поддерживать текущий элемент управления сетевыми адресами.
CNetAddressCtrl::SetAllowType Задает тип сетевого адреса, который может поддерживать текущий элемент управления сетевыми адресами.

Замечания

Элемент управления сетевым адресом проверяет правильность формата адреса, введенного пользователем. Элемент управления фактически не подключается к сетевому адресу. Метод CNetAddressCtrl::SetAllowType указывает один или несколько типов адресов, которые метод CNetAddressCtrl::GetAddress может анализировать и проверять. Адрес может быть в виде IPv4, IPv6 или именованного адреса для сервера, сети, узла или назначения широковещательного сообщения. Если формат адреса неверный, можно использовать метод CNetAddressCtrl::D playErrorTip для отображения поля сообщения infotip, которое графически указывает на текстовое поле элемента управления сетевым адресом и отображает предопределенное сообщение об ошибке.

Класс CNetAddressCtrl является производным от класса CEdit . Следовательно, элемент управления сетевыми адресами предоставляет доступ ко всем сообщениям управления изменениями Windows.

На следующем рисунке показан диалог, содержащий элемент управления сетевым адресом. Текстовое поле (1) для элемента управления сетевыми адресами содержит недопустимый сетевой адрес. Сообщение о подсказке (2) отображается, если сетевой адрес недопустим.

Dialog with a network address control and infotip.

Примеры

Следующий пример кода — это часть диалогового окна, который проверяет сетевой адрес. Обработчики событий для трех переключателей указывают, что сетевой адрес может быть одним из трех типов адресов. Пользователь вводит адрес в текстовом поле сетевого элемента управления, а затем нажимает кнопку для проверки адреса. Если адрес действителен, отображается сообщение об успешном выполнении; в противном случае отображается предопределенное сообщение об ошибке infotip.

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

В следующем примере кода из файла заголовка диалогового окна определяются NC_ADDRESS и NET_ADDRESS_INFO переменные, необходимые методу CNetAddressCtrl::GetAddress.

NC_ADDRESS m_na;
NET_ADDRESS_INFO m_nai;

Иерархия наследования

CObject

CCmdTarget

CWnd

CEdit

CNetAddressCtrl

Требования

Заголовок: afxcmn.h

Этот класс поддерживается в Windows Vista и более поздних версиях.

Дополнительные требования для этого класса описаны в разделе "Требования к сборке" для общих элементов управления Windows Vista.

CNetAddressCtrl::CNetAddressCtrl

Формирует объект CNetAddressCtrl.

CNetAddressCtrl();

Замечания

Используйте метод CNetAddressCtrl::Create или CNetAddressCtrl::CreateEx, чтобы создать сетевой элемент управления и подключить его к объектуCNetAddressCtrl.

CNetAddressCtrl::Create

Создает элемент управления сетевым адресом с указанными стилями и присоединяет его к текущему CNetAddressCtrl объекту.

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

Параметры

dwStyle
[in] Побитовое сочетание стилей, применяемых к элементу управления. Дополнительные сведения см. в разделе "Изменить стили".

rect
[in] Ссылка на структуру RECT , содержащую позицию и размер элемента управления.

pParentWnd
[in] Указатель, отличный от NULL, к объекту CWnd , который является родительским окном элемента управления.

Nid
[in] Идентификатор элемента управления.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если этот метод выполнен успешно; в противном случае — ЗНАЧЕНИЕ FALSE.

CNetAddressCtrl::CreateEx

Создает элемент управления сетевым адресом с указанными расширенными стилями и подключает его к текущему CNetAddressCtrl объекту.

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

Параметры

dwExStyle
[in] Побитовое сочетание (OR) расширенных стилей, применяемых к элементу управления. Дополнительные сведения см. в параметре dwExStyle функции CreateWindowEx.

dwStyle
[in] Побитовое сочетание стилей (OR), применяемое к элементу управления. Дополнительные сведения см. в разделе "Изменить стили".

rect
[in] Ссылка на структуру RECT , содержащую позицию и размер элемента управления.

pParentWnd
[in] Указатель, отличный от NULL, к объекту CWnd , который является родительским окном элемента управления.

Nid
[in] Идентификатор элемента управления.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если этот метод выполнен успешно; в противном случае — ЗНАЧЕНИЕ FALSE.

CNetAddressCtrl::D isplayErrorTip

Отображает сообщение об ошибке в подсказке воздушных шаров, связанной с текущим элементом управления сетевыми адресами.

HRESULT DisplayErrorTip();

Возвращаемое значение

Значение S_OK , если этот метод выполнен успешно; в противном случае — код ошибки.

Замечания

Используйте метод CNetAddressCtrl::SetAllowType, чтобы указать типы адресов, которые может поддерживать текущий элемент управления сетевыми адресами. Используйте метод CNetAddressCtrl::GetAddress для проверки и анализа сетевого адреса, введенного пользователем. Используйте метод CNetAddressCtrl::D isplayErrorTip, чтобы отобразить подсказку сообщения об ошибке, если метод CNetAddressCtrl::GetAddress не удается.

Это сообщение вызывает макрос NetAddr_DisplayErrorTip , описанный в пакете SDK для Windows. Этот макрос отправляет NCM_DISPLAYERRORTIP сообщение.

CNetAddressCtrl::GetAddress

Извлекает проверенное и проанализированное представление сетевого адреса, связанного с текущим элементом управления сетевыми адресами.

HRESULT GetAddress(PNC_ADDRESS pAddress) const;

Параметры

pAddress
[in, out] Указатель на структуру NC_ADDRESS . Перед вызовом метода GetAddress задайте элемент pAddrInfo этой структуры в адресNET_ADDRESS_INFO структуры.

Возвращаемое значение

Значение S_OK, если этот метод выполнен успешно; в противном случае код ошибки COM. Дополнительные сведения о возможных кодах ошибок см. в разделе "Возвращаемое значение" макроса NetAddr_GetAddress .

Замечания

Если этот метод выполнен успешно, структура NET_ADDRESS_INFO содержит дополнительные сведения о сетевом адресе.

Используйте метод CNetAddressCtrl::SetAllowType, чтобы указать типы адресов, которые может поддерживать текущий элемент управления сетевыми адресами. Используйте метод CNetAddressCtrl::GetAddress для проверки и анализа сетевого адреса, введенного пользователем. Используйте метод CNetAddressCtrl::D isplayErrorTip, чтобы отобразить подсказку сообщения об ошибке, если метод CNetAddressCtrl::GetAddress не удается.

Этот метод вызывает макрос NetAddr_GetAddress , описанный в пакете SDK для Windows. Этот макрос отправляет сообщение NCM_GETADDRESS.

CNetAddressCtrl::GetAllowType

Извлекает тип сетевого адреса, который может поддерживать текущий элемент управления сетевыми адресами.

DWORD GetAllowType() const;

Возвращаемое значение

Побитовое сочетание флагов (OR), указывающее типы адресов, которые могут поддерживать элемент управления сетевыми адресами. Дополнительные сведения см. в NET_STRING.

Замечания

Это сообщение вызывает макрос NetAddr_GetAllowType , описанный в пакете SDK для Windows. Этот макрос отправляет сообщение NCM_GETALLOWTYPE.

CNetAddressCtrl::SetAllowType

Задает тип сетевого адреса, который может поддерживать текущий элемент управления сетевыми адресами.

HRESULT SetAllowType(DWORD dwAddrMask);

Параметры

dwAddrMask
[in] Побитовое сочетание флагов (OR), указывающее типы адресов, которые могут поддерживать элемент управления сетевыми адресами. Дополнительные сведения см. в NET_STRING.

Возвращаемое значение

S_OK, если этот метод выполнен успешно; в противном случае код ошибки COM.

Замечания

Используйте метод CNetAddressCtrl::SetAllowType, чтобы указать типы адресов, которые может поддерживать текущий элемент управления сетевыми адресами. Используйте метод CNetAddressCtrl::GetAddress для проверки и анализа сетевого адреса, введенного пользователем. Используйте метод CNetAddressCtrl::D isplayErrorTip, чтобы отобразить подсказку сообщения об ошибке, если метод CNetAddressCtrl::GetAddress не удается.

Это сообщение вызывает макрос NetAddr_SetAllowType , описанный в пакете SDK для Windows. Этот макрос отправляет сообщение NCM_SETALLOWTYPE.

См. также

Класс CNetAddressCtrl
Диаграмма иерархии
Класс CEdit