mirror of https://github.com/tongzx/nt5src
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.
147 lines
3.4 KiB
147 lines
3.4 KiB
/*++
|
|
|
|
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;
|
|
}
|