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]要套用至控件的樣式位元組合。 如需詳細資訊,請參閱 編輯樣式。
rect
[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) 。 如需詳細資訊,請參閱 編輯樣式。
rect
[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訊息。