/*++ Microsoft Windows Copyright (C) Microsoft Corporation, 1981 - 1999 Module Name: multdevices.cpp Abstract: Author: Rahul Thombre (RahulTh) 4/30/1998 Revision History: 4/30/1998 RahulTh Created this module. --*/ // MultDevices.cpp : implementation file // #include "precomp.hxx" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif //the array used for context sensitive help const DWORD g_aHelpIDs_IDD_DEVICECHOOSER[]= { IDC_CHOOSERDESC, IDH_DISABLEHELP, IDC_DEVICELIST, IDH_DEVICELIST, 0, 0 }; ///////////////////////////////////////////////////////////////////////////// // CMultDevices dialog CMultDevices::CMultDevices(CWnd* pParent /*=NULL*/, CDeviceList* pDevList /* = NULL*/) : CDialog(CMultDevices::IDD, pParent), m_pDevList (pDevList) { m_pParentWnd = (CSendProgress*)pParent; //{{AFX_DATA_INIT(CMultDevices) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } void CMultDevices::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMultDevices) DDX_Control(pDX, IDC_DEVICELIST, m_lstDevices); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CMultDevices, CDialog) //{{AFX_MSG_MAP(CMultDevices) ON_MESSAGE (WM_HELP, OnHelp) ON_MESSAGE (WM_CONTEXTMENU, OnContextMenu) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMultDevices message handlers BOOL CMultDevices::OnInitDialog() { CDialog::OnInitDialog(); int len, i; int index; TCHAR devName[MAX_PATH]; EnterCriticalSection(&(m_pDevList->m_criticalSection)); for (i = 0; i < m_pDevList->m_lNumDevices; i++) { wcscpy (devName, m_pDevList->m_pDeviceInfo[i].DeviceName); index = m_lstDevices.AddString(devName); if (m_pDevList->m_pDeviceInfo[i].DeviceType == TYPE_IRDA) { m_lstDevices.SetItemData (index, (DWORD)m_pDevList->m_pDeviceInfo[i].DeviceSpecific.s.Irda.DeviceId); } else { m_lstDevices.SetItemData (index, (DWORD)m_pDevList->m_pDeviceInfo[i].DeviceSpecific.s.Ip.IpAddress); } } LeaveCriticalSection(&(m_pDevList->m_criticalSection)); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CMultDevices::OnOK() { int iSel; iSel = m_lstDevices.GetCurSel(); m_pParentWnd->m_lSelectedDeviceID = (LONG) m_lstDevices.GetItemData(iSel); m_lstDevices.GetText(iSel, m_pParentWnd->m_lpszSelectedDeviceName); CDialog::OnOK(); } LONG CMultDevices::OnHelp (WPARAM wParam, LPARAM lParam) { AFX_MANAGE_STATE (AfxGetStaticModuleState()); LONG lResult = 0; CString szHelpFile; szHelpFile.LoadString (IDS_HELP_FILE); ::WinHelp((HWND)(((LPHELPINFO)lParam)->hItemHandle), (LPCTSTR) szHelpFile, HELP_WM_HELP, (ULONG_PTR)(LPTSTR)g_aHelpIDs_IDD_DEVICECHOOSER); return lResult; } LONG CMultDevices::OnContextMenu (WPARAM wParam, LPARAM lParam) { AFX_MANAGE_STATE (AfxGetStaticModuleState()); LONG lResult = 0; CString szHelpFile; szHelpFile.LoadString (IDS_HELP_FILE); ::WinHelp((HWND)wParam, (LPCTSTR)szHelpFile, HELP_CONTEXTMENU, (ULONG_PTR)(LPVOID)g_aHelpIDs_IDD_DEVICECHOOSER); return lResult; }