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 isplayErrorTip 方法來顯示資訊提示訊息方塊,以圖形方式指向網路位址控制項的文字方塊,並顯示預先定義的錯誤訊息。
類別 CNetAddressCtrl
衍生自 CEdit 類別。 因此,網路位址控制可讓您存取所有 Windows 編輯控制訊息。
下圖描述包含網路位址控制項的對話方塊。 網路位址控制項的文字方塊 (1) 包含不正確網路位址。 如果網路位址無效,就會顯示資訊提示訊息 (2)。
範例
下列程式碼範例是驗證網路位址之對話方塊的一部分。 三個選項按鈕的事件處理常式會指定網路位址可以是三種地址類型的其中一種。 使用者會在網路控制項的文字方塊中輸入位址,然後按按鈕來驗證位址。 如果位址有效,就會顯示成功訊息;否則,會顯示預先定義的資訊提示錯誤訊息。
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"));
}
來自對話方塊標頭檔中的下列程式碼範例會 定義 CNetAddressCtrl::GetAddress 方法所需的 NC_ADDRESS 和 NET_ADDRESS_INFO 變數。
NC_ADDRESS m_na;
NET_ADDRESS_INFO m_nai;
繼承階層架構
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]要套用至控制項的樣式位元組合。 如需詳細資訊,請參閱 編輯樣式 。
矩形
[in]RECT 結構的參考 ,其中包含控制項的位置和大小。
pParentWnd
[in]屬於控制項父視窗之 CWnd 物件的非 Null 指標 。
nID
[in]控制項的識別碼。
傳回值
如果此方法成功,則為 TRUE;否則為 FALSE。
CNetAddressCtrl::CreateEx
使用指定的擴充樣式建立網路位址控制項,並將它附加至目前的 CNetAddressCtrl
物件。
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
參數
dwExStyle
[in]要套用至控制項之延伸樣式的位元組合 (OR) 。 如需詳細資訊,請參閱 CreateWindowEx 函式的 dwExStyle 參數。
dwStyle
[in]要套用至控制項的樣式位元組合 (OR) 。 如需詳細資訊,請參閱 編輯樣式 。
矩形
[in]RECT 結構的參考 ,其中包含控制項的位置和大小。
pParentWnd
[in]屬於控制項父視窗之 CWnd 物件的非 Null 指標 。
nID
[in]控制項的識別碼。
傳回值
如果此方法成功,則為 TRUE;否則為 FALSE。
CNetAddressCtrl::D isplayErrorTip
在與目前網路位址控制項相關聯的氣球提示中顯示錯誤訊息。
HRESULT DisplayErrorTip();
傳回值
如果這個方法成功,則為 值 S_OK
,否則為錯誤碼。
備註
使用 CNetAddressCtrl::SetAllowType 方法來指定目前網路位址控制可以支援的網址類別型。 使用 CNetAddressCtrl::GetAddress 方法來驗證和剖析使用者輸入的網路位址。 如果 CNetAddressCtrl::GetAddress 方法失敗, 請使用 CNetAddressCtrl::D isplayErrorTip 方法來顯示錯誤訊息資訊提示。
此訊息會 叫用 Windows SDK 中所述的 NetAddr_DisplayErrorTip 宏。 該宏會傳送 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::GetAddress 方法失敗, 請使用 CNetAddressCtrl::D isplayErrorTip 方法來顯示錯誤訊息資訊提示。
此方法會 叫用 Windows SDK 中所述的 NetAddr_GetAddress 宏。 該宏會傳送NCM_GETADDRESS訊息。
CNetAddressCtrl::GetAllowType
擷取目前網路位址控制可支援的網路位址類型。
DWORD GetAllowType() const;
傳回值
旗標的位元組合(OR),指定網路位址控制可以支援的網址類別型。 如需詳細資訊,請參閱 NET_STRING 。
備註
此訊息會 叫用 Windows SDK 中所述的 NetAddr_GetAllowType 宏。 該宏會傳送NCM_GETALLOWTYPE訊息。
CNetAddressCtrl::SetAllowType
設定目前網路位址控制可支援的網路位址類型。
HRESULT SetAllowType(DWORD dwAddrMask);
參數
dwAddrMask
[in]旗標的位元組合(OR),指定網路位址控制可以支援的網址類別型。 如需詳細資訊,請參閱 NET_STRING 。
傳回值
如果此方法成功,S_OK;否則為 COM 錯誤碼。
備註
使用 CNetAddressCtrl::SetAllowType 方法來指定目前網路位址控制可以支援的網址類別型。 使用 CNetAddressCtrl::GetAddress 方法來驗證和剖析使用者輸入的網路位址。 如果 CNetAddressCtrl::GetAddress 方法失敗, 請使用 CNetAddressCtrl::D isplayErrorTip 方法來顯示錯誤訊息資訊提示。
此訊息會 叫用 Windows SDK 中所述的 NetAddr_SetAllowType 宏。 該宏會傳送NCM_SETALLOWTYPE訊息。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應