www.pudn.com > DalsaNetlink.rar > CyMulticastingDialog.cpp


// CyMulticastingDialog.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "resource.h" 
#include "resource.hm" 
#include "CyMulticastingDialog.h" 
 
#ifdef _DEBUG 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CyMulticastingDialog dialog 
 
 
CyMulticastingDialog::CyMulticastingDialog(CWnd* pParent /*=NULL*/) 
	: CDialog(CyMulticastingDialog::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(CyMulticastingDialog) 
	mEnabled = FALSE; 
	mMaster = FALSE; 
	mNoData = FALSE; 
	//}}AFX_DATA_INIT 
    mMaster = TRUE; 
 
    mIP1 = 224; 
    mIP2 = 64; 
    mIP3 = 16; 
    mIP4 = 1; 
} 
 
 
void CyMulticastingDialog::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CyMulticastingDialog) 
	DDX_Control(pDX, IDC_MULTICAST_NO_DATA, mNoDataControl); 
	DDX_Control(pDX, IDC_MULTICAST_MASTER, mMasterControl); 
	DDX_Control(pDX, IDC_MULTICAST_ENABLED, mEnabledControl); 
	DDX_Control(pDX, IDC_MULTICAST_ADDRESS, mAddressControl); 
	DDX_Check(pDX, IDC_MULTICAST_ENABLED, mEnabled); 
	DDX_Check(pDX, IDC_MULTICAST_MASTER, mMaster); 
	DDX_Check(pDX, IDC_MULTICAST_NO_DATA, mNoData); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CyMulticastingDialog, CDialog) 
	//{{AFX_MSG_MAP(CyMulticastingDialog) 
	ON_BN_CLICKED(IDC_MULTICAST_ENABLED, OnMulticastEnabled) 
	ON_WM_HELPINFO() 
	ON_BN_CLICKED(IDC_MULTICAST_MASTER, OnMulticastMaster) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CyMulticastingDialog message handlers 
 
BOOL CyMulticastingDialog::OnInitDialog()  
{ 
	CDialog::OnInitDialog(); 
 
    mIP1 = 224; 
    mIP2 = 64; 
    mAddressControl.SetFieldRange( 0, 224, 224 ); 
    mAddressControl.SetFieldRange( 1, 64, 64 ); 
    mAddressControl.SetFieldRange( 2, 16, 254 ); 
    mAddressControl.SetFieldRange( 3, 1, 254 ); 
    mAddressControl.SetAddress( mIP1, mIP2, mIP3, mIP4 ); 
 
    OnMulticastEnabled(); 
    OnMulticastMaster(); 
	 
	return TRUE;  // return TRUE unless you set the focus to a control 
	              // EXCEPTION: OCX Property Pages should return FALSE 
} 
 
void CyMulticastingDialog::OnOK()  
{ 
    if ( !UpdateData( TRUE ) ) 
        return; 
 
    mAddressControl.GetAddress( mIP1, mIP2, mIP3, mIP4 ); 
 
 
	CDialog::OnOK(); 
} 
 
void CyMulticastingDialog::OnMulticastEnabled()  
{ 
	BOOL lEnabled = mEnabledControl.GetCheck(); 
 
    mMasterControl.EnableWindow( lEnabled ); 
    mAddressControl.EnableWindow( lEnabled ); 
} 
 
 
static DWORD rgmapCHID[] =  
{ 
    IDC_MULTICAST_ENABLED, HIDC_MULTICAST_ENABLED, 
 
    IDC_MULTICAST_ADDRESS, HIDC_MULTICAST_ADDRESS, 
 
    IDC_MULTICAST_MASTER, HIDC_MULTICAST_MASTER, 
 
    IDC_MULTICAST_NO_DATA, HIDC_MULTICAST_NO_DATA, 
 
    0,0 
}; 
 
BOOL CyMulticastingDialog::OnHelpInfo(HELPINFO* pHelpInfo)  
{ 
    return  ::WinHelp( (HWND)pHelpInfo->hItemHandle, 
                       AfxGetApp()->m_pszHelpFilePath, 
                       HELP_WM_HELP, 
                       (DWORD)(LPVOID)rgmapCHID); 
} 
 
void CyMulticastingDialog::OnMulticastMaster()  
{ 
	mNoDataControl.EnableWindow( mMasterControl.GetCheck() ); 
}