CNetAddressCtrl クラス

更新 : 2007 年 11 月

CNetAddressCtrl クラスは、ネットワーク アドレス コントロールを表します。このコントロールを使用すると、IPv4 アドレス、IPv6 アドレス、および名前付き DNS アドレスの形式を入力して検証できます。

class CNetAddressCtrl : public CEdit

解説

ネットワーク アドレス コントロールは、ユーザーが入力したアドレスの形式が正しいかどうかを検証します。このコントロールは、ネットワーク アドレスに実際に接続するわけではありません。CNetAddressCtrl::SetAllowType メソッドによって、CNetAddressCtrl::GetAddress メソッドで解析と検証を行うアドレスのタイプを 1 つ以上指定します。サーバー、ネットワーク、ホスト、またはブロードキャスト メッセージの宛先のアドレスとして使用できるのは、IPv4 アドレス、IPv6 アドレス、名前付きアドレスのいずれかの形式です。アドレスの形式が間違っている場合は、CNetAddressCtrl::DisplayErrorTip メソッドを使用してヒント メッセージ ボックスを表示できます。そのメッセージ ボックスは、ネットワーク アドレス コントロールのテキスト ボックスをグラフィカルに参照して、定義済みのエラー メッセージを表示します。

CNetAddressCtrl クラスは、CEdit クラスの派生クラスです。したがって、ネットワーク アドレス コントロールからは、Windows のすべてのエディット コントロール メッセージにアクセスできます。

ネットワーク アドレス コントロールが含まれているダイアログの図を以下に示します。ネットワーク アドレス コントロールのテキスト ボックス (1) に無効なネットワーク アドレスが入力されています。ネットワーク アドレスが無効な場合は、ヒント メッセージ (2) が表示されます。

ネットワーク アドレス コントロールおよび infotip を含むダイアログ。

必要条件

ヘッダー : afxcmn.h

このクラスは、Windows Vista およびそれ以降のバージョンでサポートされています。

このクラスに関するその他の要件については、「Windows Vista コモン コントロールの作成要件」を参照してください。

使用例

ダイアログの中でネットワーク アドレスを検証する部分に相当するコード例を以下に示します。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 クラス

階層図

CEdit クラス

その他の技術情報

CNetAddressCtrl のメンバ