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() );
}