Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Класс 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) отображается, если сетевой адрес недопустим.
Следующий пример кода — это часть диалогового окна, который проверяет сетевой адрес. Обработчики событий для трех переключателей указывают, что сетевой адрес может быть одним из трех типов адресов. Пользователь вводит адрес в текстовом поле сетевого элемента управления, а затем нажимает кнопку для проверки адреса. Если адрес действителен, отображается сообщение об успешном выполнении; в противном случае отображается предопределенное сообщение об ошибке 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;
CNetAddressCtrl
Заголовок: afxcmn.h
Этот класс поддерживается в Windows Vista и более поздних версиях.
Дополнительные требования для этого класса описаны в разделе "Требования к сборке" для общих элементов управления Windows Vista.
Формирует объект CNetAddressCtrl
.
CNetAddressCtrl();
Используйте метод CNetAddressCtrl::Create или CNetAddressCtrl::CreateEx, чтобы создать сетевой элемент управления и подключить его к объектуCNetAddressCtrl
.
Создает элемент управления сетевым адресом с указанными стилями и присоединяет его к текущему 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
объекту.
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.
Отображает сообщение об ошибке в подсказке воздушных шаров, связанной с текущим элементом управления сетевыми адресами.
HRESULT DisplayErrorTip();
Значение S_OK
, если этот метод выполнен успешно; в противном случае — код ошибки.
Используйте метод CNetAddressCtrl::SetAllowType, чтобы указать типы адресов, которые может поддерживать текущий элемент управления сетевыми адресами. Используйте метод CNetAddressCtrl::GetAddress для проверки и анализа сетевого адреса, введенного пользователем. Используйте метод CNetAddressCtrl::D isplayErrorTip, чтобы отобразить подсказку сообщения об ошибке, если метод CNetAddressCtrl::GetAddress не удается.
Это сообщение вызывает макрос NetAddr_DisplayErrorTip , описанный в пакете SDK для Windows. Этот макрос отправляет NCM_DISPLAYERRORTIP
сообщение.
Извлекает проверенное и проанализированное представление сетевого адреса, связанного с текущим элементом управления сетевыми адресами.
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.
Извлекает тип сетевого адреса, который может поддерживать текущий элемент управления сетевыми адресами.
DWORD GetAllowType() const;
Побитовое сочетание флагов (OR), указывающее типы адресов, которые могут поддерживать элемент управления сетевыми адресами. Дополнительные сведения см. в NET_STRING.
Это сообщение вызывает макрос NetAddr_GetAllowType , описанный в пакете SDK для Windows. Этот макрос отправляет сообщение NCM_GETALLOWTYPE.
Задает тип сетевого адреса, который может поддерживать текущий элемент управления сетевыми адресами.
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.