Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

195 lines
4.5 KiB

/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1996-1999 Microsoft Corporation
//
// Module Name:
// VSAccess.h
//
// Abstract:
// Definition of the CWizPageVSAccessInfo class.
//
// Implementation File:
// VSAccess.cpp
//
// Author:
// David Potter (davidp) December 9, 1997
//
// Revision History:
//
// Notes:
//
/////////////////////////////////////////////////////////////////////////////
#ifndef __VSACCESS_H_
#define __VSACCESS_H_
/////////////////////////////////////////////////////////////////////////////
// Forward Class Declarations
/////////////////////////////////////////////////////////////////////////////
class CWizPageVSAccessInfo;
/////////////////////////////////////////////////////////////////////////////
// External Class Declarations
/////////////////////////////////////////////////////////////////////////////
class CClusNetworkInfo;
/////////////////////////////////////////////////////////////////////////////
// Include Files
/////////////////////////////////////////////////////////////////////////////
#ifndef __RESOURCE_H_
#include "resource.h"
#define __RESOURCE_H_
#endif
#ifndef __CLUSAPPWIZPAGE_H_
#include "ClusAppWizPage.h" // for CClusterAppStaticWizardPage
#endif
#ifndef __HELPDATA_H_
#include "HelpData.h" // for control id to help context id mapping array
#endif
/////////////////////////////////////////////////////////////////////////////
// Type Definitions
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// class CWizPageVSAccessInfo
/////////////////////////////////////////////////////////////////////////////
class CWizPageVSAccessInfo : public CClusterAppStaticWizardPage< CWizPageVSAccessInfo >
{
typedef CClusterAppStaticWizardPage< CWizPageVSAccessInfo > baseClass;
public:
//
// Construction
//
// Default constructor
CWizPageVSAccessInfo( void )
{
} //*** CCWizPageVSAccessInfo()
WIZARDPAGE_HEADERTITLEID( IDS_HDR_TITLE_VSAI )
WIZARDPAGE_HEADERSUBTITLEID( IDS_HDR_SUBTITLE_VSAI )
enum { IDD = IDD_VIRTUAL_SERVER_ACCESS_INFO };
public:
//
// CWizardPageWindow public methods.
//
// Apply changes made on this page to the sheet
BOOL BApplyChanges( void );
public:
//
// CBasePage public methods.
//
// Update data on or from the page
BOOL UpdateData( IN BOOL bSaveAndValidate );
public:
//
// Message map.
//
BEGIN_MSG_MAP( CWizPageVSAccessInfo )
COMMAND_HANDLER( IDC_VSAI_NETWORK_NAME, EN_CHANGE, OnChangedNetName )
COMMAND_HANDLER( IDC_VSAI_IP_ADDRESS, EN_CHANGE, OnChangedIPAddr )
COMMAND_HANDLER( IDC_VSAI_IP_ADDRESS, EN_KILLFOCUS, OnKillFocusIPAddr )
CHAIN_MSG_MAP( baseClass )
END_MSG_MAP()
DECLARE_CTRL_NAME_MAP()
//
// Message handler functions.
//
// Handler for the EN_CHANGE command notification on IDC_VSAI_NETWORK_NAME
LRESULT OnChangedNetName(
WORD /*wNotifyCode*/,
WORD /*idCtrl*/,
HWND /*hwndCtrl*/,
BOOL & /*bHandled*/
)
{
CheckForRequiredFields();
return 0;
} //*** OnChangedNetName()
// Handler for the EN_CHANGE command notification on IDC_VSAI_IP_ADDRESS
LRESULT OnChangedIPAddr(
WORD /*wNotifyCode*/,
WORD /*idCtrl*/,
HWND /*hwndCtrl*/,
BOOL & /*bHandled*/
)
{
CheckForRequiredFields();
return 0;
} //*** OnChangedIPAddr()
// Handler for the EN_KILLFOCUS command notification on IDC_VSAI_IP_ADDRESS
LRESULT OnKillFocusIPAddr(
WORD wNotifyCode,
WORD idCtrl,
HWND hwndCtrl,
BOOL & bHandled
);
//
// Message handler overrides.
//
// Handler for the WM_INITDIALOG message
BOOL OnInitDialog( void );
// Implementation
protected:
//
// Controls.
//
CEdit m_editNetName;
CIPAddressCtrl m_ipaIPAddress;
CComboBox m_cboxNetworks;
//
// Page state.
//
CString m_strNetName;
CString m_strIPAddress;
CString m_strSubnetMask;
CString m_strNetwork;
// Check for required fields and enable/disable Next button
void CheckForRequiredFields( void )
{
int cchNetName = m_editNetName.GetWindowTextLength();
BOOL bIsIPAddrBlank = m_ipaIPAddress.IsBlank();
BOOL bEnable = (cchNetName > 0) && ! bIsIPAddrBlank;
EnableNext( bEnable );
} //*** CheckForRequiredFields()
// Get a network info object from an IP address
CClusNetworkInfo * PniFromIpAddress( IN LPCWSTR pszAddress );
public:
// Return the help ID map
static const DWORD * PidHelpMap( void ) { return g_aHelpIDs_IDD_VIRTUAL_SERVER_ACCESS_INFO; }
}; //*** class CWizPageVSAccessInfo
/////////////////////////////////////////////////////////////////////////////
#endif // __VSACCESS_H_