// DlgDevList.cpp : 实现文件
//

#include "stdafx.h"
#include "Meter.h"
#include "DlgDevList.h"
#include "afxdialogex.h"


// CDlgDevList 对话框

IMPLEMENT_DYNAMIC(CDlgDevList, CDialogEx)

CDlgDevList::CDlgDevList(CWnd* pParent /*=NULL*/)
	: CDialogEx(CDlgDevList::IDD, pParent)
{
	m_pCurSel = NULL;
	m_nDevSum = 0;
}

CDlgDevList::~CDlgDevList()
{
}

void CDlgDevList::DoDataExchange(CDataExchange* pDX)
{
	CDialogEx::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_LIST_DEV, m_listDev);
}


BEGIN_MESSAGE_MAP(CDlgDevList, CDialogEx)
	ON_BN_CLICKED(IDOK, &CDlgDevList::OnBnClickedOk)
	ON_BN_CLICKED(IDCANCEL, &CDlgDevList::OnBnClickedCancel)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST_DEV, &CDlgDevList::OnNMDblclkListDev)
END_MESSAGE_MAP()


// CDlgDevList 消息处理程序


void CDlgDevList::OnBnClickedOk()
{
	// TODO: 在此添加控件通知处理程序代码
	int nSel = m_listDev.GetSelectionMark();
	if(nSel >= 0)
	{
		if(m_pCurSel != NULL)
		{
			*m_pCurSel = nSel;
		}
		CDialogEx::OnOK();
	}
	else
	{
		AfxMessageBox(_T("Please select a device!"));
	}
}


void CDlgDevList::OnBnClickedCancel()
{
	// TODO: 在此添加控件通知处理程序代码
	CDialogEx::OnCancel();
}


INT_PTR CDlgDevList::DoModal(int nDev)
{
	// TODO: 在此添加专用代码和/或调用基类
	m_nDevSum = nDev;
	return CDialogEx::DoModal();
}


BOOL CDlgDevList::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// TODO:  在此添加额外的初始化
	CString str;
	m_listDev.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	m_listDev.InsertColumn(0,_T("ID"),LVCFMT_CENTER, 50);
	m_listDev.InsertColumn(1,_T("Device Name"),LVCFMT_CENTER,200);
	for(int i = 0; i < m_nDevSum; i++)
	{
		str.Format(_T("%ld"),i);
		m_listDev.InsertItem(i,str);
		m_listDev.SetItemText(i,1,_T("Hantek365"));
	}
	return TRUE;  // return TRUE unless you set the focus to a control
	// 异常: OCX 属性页应返回 FALSE
}


void CDlgDevList::OnNMDblclkListDev(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码
	OnBnClickedOk();
	*pResult = 0;
}
