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 メソッドが解析および検証できる 1 つ以上の種類のアドレスを指定します。 アドレスは、サーバー、ネットワーク、ホスト、またはブロードキャスト メッセージの宛先の IPv4、IPv6、または名前付きアドレスの形式にすることができます。 アドレスの形式が正しくない場合は、 CNetAddressCtrl::D isplayErrorTip メソッドを使用して、ネットワーク アドレス コントロールのテキスト ボックスをグラフィカルにポイントし、定義済みのエラー メッセージを表示するヒント メッセージ ボックスを表示できます。
CNetAddressCtrl
クラスは、CEdit クラスから派生します。 その結果、ネットワーク アドレス制御は、すべての Windows 編集コントロール メッセージへのアクセスを提供します。
次の図は、ネットワーク アドレス コントロールを含むダイアログを示しています。 ネットワーク アドレス コントロールのテキスト ボックス (1) に無効なネットワーク アドレスが含まれています。 ネットワーク アドレスが無効な場合は、ヒント メッセージ (2) が表示されます。
例
次のコード例は、ネットワーク アドレスを検証するダイアログの一部です。 3 つのラジオ ボタンのイベント ハンドラーは、ネットワーク アドレスが 3 つのアドレスの種類のいずれかであることを指定します。 ユーザーは、ネットワーク コントロールのテキスト ボックスにアドレスを入力し、ボタンを押してアドレスを検証します。 アドレスが有効な場合は、成功メッセージが表示されます。それ以外の場合は、定義済みのヒント エラー メッセージが表示されます。
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 Common Controls の Build 要件で説明されています。
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]コントロールの ID。
戻り値
このメソッドが成功した場合は 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]コントロールの ID。
戻り値
このメソッドが成功した場合は 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
[入力、出力] 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 メッセージを送信します。