|
@@ -38,6 +38,8 @@ BEGIN_MESSAGE_MAP(CDlgService, CDialogEx)
|
|
|
ON_BN_CLICKED(BTN_MODIFY_RUNNER_NAME, &CDlgService::OnBnClickedModifyRunnerName)
|
|
|
ON_BN_CLICKED(BTN_ADD_ANDROID, &CDlgService::OnBnClickedAddAndroid)
|
|
|
ON_WM_TIMER()
|
|
|
+ ON_NOTIFY(NM_RCLICK, IDC_LIST_DEVICES, &CDlgService::OnNMRClickListDevices)
|
|
|
+ ON_COMMAND(ID_DEVICES_DEL, &CDlgService::OnDevicesDel)
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
@@ -306,3 +308,54 @@ void CDlgService::OnCancel()
|
|
|
|
|
|
//CDialogEx::OnCancel();
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+void CDlgService::OnNMRClickListDevices(NMHDR* pNMHDR, LRESULT* pResult)
|
|
|
+{
|
|
|
+ LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
|
|
|
+ // TODO: 在此添加控件通知处理程序代码
|
|
|
+ NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
|
|
|
+ if (pNMListView->iItem != -1)
|
|
|
+ {
|
|
|
+ CString strType = m_listDevices.GetItemText(pNMListView->iItem, 1);
|
|
|
+ // 过滤掉虚拟设备;
|
|
|
+ if (!strType.CompareNoCase(_T("虚拟")))
|
|
|
+ return;
|
|
|
+
|
|
|
+ DWORD dwPos = GetMessagePos();
|
|
|
+ CPoint point(LOWORD(dwPos), HIWORD(dwPos));
|
|
|
+ CMenu menu;
|
|
|
+ //添加线程操作
|
|
|
+ if (!menu.LoadMenu(IDR_POPUP_DEVICES)) //这里是我们在1中定义的MENU的文件名称
|
|
|
+ return;
|
|
|
+ CMenu* popup = menu.GetSubMenu(0);
|
|
|
+ ASSERT(popup != NULL);
|
|
|
+ popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);
|
|
|
+ }
|
|
|
+
|
|
|
+ *pResult = 0;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+void CDlgService::OnDevicesDel()
|
|
|
+{
|
|
|
+ // TODO: 在此添加命令处理程序代码
|
|
|
+ // 获取选中的设备;
|
|
|
+ POSITION pos = m_listDevices.GetFirstSelectedItemPosition();
|
|
|
+ if (pos != NULL)
|
|
|
+ {
|
|
|
+ int nSelCur = m_listDevices.GetNextSelectedItem(pos);
|
|
|
+ if (nSelCur != -1)
|
|
|
+ {
|
|
|
+ CString strDeviceType = m_listDevices.GetItemText(nSelCur, 1);
|
|
|
+ CString strDeviceName = m_listDevices.GetItemText(nSelCur, 2);
|
|
|
+ if (!strDeviceName.IsEmpty() && strDeviceType.CompareNoCase(_T("虚拟")))
|
|
|
+ {
|
|
|
+ MessageBox(_T("即将删除设备:") + strDeviceName, _T("温馨提示!"), MB_ICONWARNING);
|
|
|
+ CSATClient::GetInstance()->TCPDelDevice(strDeviceName.GetString());
|
|
|
+ // 同时删除该项;
|
|
|
+ m_listDevices.DeleteItem(nSelCur);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|