windows-nt/Source/XPSP1/NT/net/mmc/acssnap/newsub.cpp
2020-09-26 16:20:57 +08:00

84 lines
1.9 KiB
C++

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1998 - 1998
//
// File: newsub.cpp
//
//--------------------------------------------------------------------------
// newsub.cpp : implementation file
//
#include "stdafx.h"
#include "resource.h"
#include "acsadmin.h"
#include "acs.h"
#include "newsub.h"
extern "C"
{
#include <dsgetdc.h> // DsValidateSubnetName
}
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgNewSubnet dialog
CDlgNewSubnet::CDlgNewSubnet(CWnd* pParent /*=NULL*/)
: CACSDialog(CDlgNewSubnet::IDD, pParent)
{
m_pNameList = NULL;
//{{AFX_DATA_INIT(CDlgNewSubnet)
m_strSubnetName = _T("");
//}}AFX_DATA_INIT
}
void CDlgNewSubnet::DoDataExchange(CDataExchange* pDX)
{
CACSDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgNewSubnet)
DDX_Text(pDX, IDC_EDITSUBNETNAME, m_strSubnetName);
DDV_MaxChars(pDX, m_strSubnetName, 128);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgNewSubnet, CACSDialog)
//{{AFX_MSG_MAP(CDlgNewSubnet)
ON_EN_CHANGE(IDC_EDITSUBNETNAME, OnChangeEditsubnetname)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgNewSubnet message handlers
void CDlgNewSubnet::OnChangeEditsubnetname()
{
CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDITSUBNETNAME);
CString str;
pEdit->GetWindowText(str);
ASSERT(m_pNameList);
BOOL bEnable = (str.GetLength() && (m_pNameList->Find(str) == -1));
GetDlgItem(IDOK)->EnableWindow(bEnable);
}
void CDlgNewSubnet::OnOK()
{
UpdateData(TRUE );
DWORD dw = ::DsValidateSubnetName( (LPCTSTR)m_strSubnetName );
if (ERROR_SUCCESS != dw)
AfxMessageBox(IDS_ERR_SUBNET_NAME);
else
CACSDialog::OnOK();
}