66 lines
1.8 KiB
C++
66 lines
1.8 KiB
C++
#pragma once
|
|
|
|
#include "resource.h"
|
|
#include "wlbsparm.h"
|
|
|
|
#define WLBS_IP_FIELD_ZERO_LOW 1
|
|
#define WLBS_IP_FIELD_ZERO_HIGH 223
|
|
|
|
|
|
//+----------------------------------------------------------------------------
|
|
//
|
|
// class CIpSubnetMaskControl
|
|
//
|
|
// Description: Add error checking for an IP address and subnet mask pair.
|
|
// Generate default subnetmask based on ip
|
|
//
|
|
// History: shouse initial code
|
|
// fengsun Created class 1/12/01
|
|
//
|
|
//+----------------------------------------------------------------------------
|
|
class CIpSubnetMaskControl
|
|
{
|
|
public:
|
|
CIpSubnetMaskControl(DWORD dwIpAddressResourceId, DWORD dwSubnetMaskResourceId);
|
|
~CIpSubnetMaskControl(){};
|
|
|
|
void OnInitDialog(HWND hWnd, HINSTANCE hInstance);
|
|
|
|
LRESULT OnSubnetMask(WORD wNotifyCode);
|
|
LRESULT OnIpFieldChange(int idCtrl, LPNMHDR pnmh);
|
|
|
|
void SetInfo(const WCHAR* pszIpAddress, const WCHAR* pszSubnetMask);
|
|
void UpdateInfo(OUT WCHAR* pszIpAddress, OUT WCHAR* pszSubnetMask);
|
|
bool ValidateInfo();
|
|
|
|
protected:
|
|
|
|
DWORD m_dwIpAddressId;
|
|
DWORD m_dwSubnetMaskId;
|
|
HWND m_hWndDialog; // parent dialog window handle
|
|
HINSTANCE m_hInstance; // instance handle for error string resource
|
|
|
|
//
|
|
// The PropertySheet may call us twice for the same change, so we have to do the bookkeeping to make
|
|
// sure we only alert the user once. Use static variables to keep track of our state. This will
|
|
// allow us to ignore duplicate alerts.
|
|
//
|
|
struct {
|
|
UINT IpControl;
|
|
int Field;
|
|
int Value;
|
|
UINT RejectTimes;
|
|
} m_IPFieldChangeState;
|
|
};
|
|
|
|
|
|
INT
|
|
WINAPIV
|
|
NcMsgBox (
|
|
IN HINSTANCE hinst,
|
|
IN HWND hwnd,
|
|
IN UINT unIdCaption,
|
|
IN UINT unIdFormat,
|
|
IN UINT unStyle,
|
|
IN ...);
|