a
This commit is contained in:
@@ -0,0 +1,180 @@
|
||||
// DialLoopTaskCancel.cpp : 实现文件
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "GeoMative.h"
|
||||
#include "DialLoopTaskCancel.h"
|
||||
#include "afxdialogex.h"
|
||||
|
||||
extern CGeoMativeApp theApp;
|
||||
extern int g_UIOffset;
|
||||
extern int g_iUILanguage;
|
||||
extern CString Tm2LocalStr(time_t t);
|
||||
// DialLoopTaskCancel 对话框
|
||||
|
||||
IMPLEMENT_DYNAMIC(DialLoopTaskCancel, CDialog)
|
||||
|
||||
DialLoopTaskCancel::DialLoopTaskCancel(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(DialLoopTaskCancel::IDD, pParent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
DialLoopTaskCancel::~DialLoopTaskCancel()
|
||||
{
|
||||
m_LoopTablelist.RemoveAll();
|
||||
}
|
||||
|
||||
void DialLoopTaskCancel::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
DDX_Control(pDX, IDC_LIST_LOOP_CANCEL_TABLE, m_ClistLoopTask);
|
||||
DDX_Control(pDX, IDC_STATIC_LOOP_TATOL, m_CStaticTaskNum);
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(DialLoopTaskCancel, CDialog)
|
||||
ON_BN_CLICKED(IDOK_CANCEL_LOOP, &DialLoopTaskCancel::OnBnClickedCancelLoop)
|
||||
ON_BN_CLICKED(IDCANCEL_EXIT, &DialLoopTaskCancel::OnBnClickedExit)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// DialLoopTaskCancel 消息处理程序
|
||||
|
||||
|
||||
void DialLoopTaskCancel::OnBnClickedCancelLoop()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
CString szListStr;
|
||||
char ucTaskID[MAX_NAME_LEN] = {0};
|
||||
char chStr[200];
|
||||
int iLen = 0;
|
||||
|
||||
POSITION pos = m_ClistLoopTask.GetFirstSelectedItemPosition();
|
||||
if (pos == NULL)
|
||||
{
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
AfxMessageBox(_T("请选择一个任务!"));
|
||||
else
|
||||
MessageBoxEx(NULL, _T("Please choose one task first."), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
||||
return;
|
||||
}
|
||||
theApp.m_NetWorkOper.SetSuspendForThread(true);
|
||||
while (pos)
|
||||
{
|
||||
int nItem = m_ClistLoopTask.GetNextSelectedItem(pos);
|
||||
szListStr.Empty();
|
||||
szListStr = m_ClistLoopTask.GetItemText(nItem, 1);
|
||||
strncpy(ucTaskID, szListStr, MAX_NAME_LEN* sizeof(BYTE));
|
||||
|
||||
if (!theApp.m_NetWorkOper.SendCtrlMsgDirect(EN_CANCEL_LOOP_TASK_TRUST, 0xFFFFFFFF, 1, (char*)ucTaskID, MAX_NAME_LEN* sizeof(BYTE)))
|
||||
{
|
||||
theApp.m_NetWorkOper.SetSuspendForThread(false);
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
AfxMessageBox(_T("取消循环任务发送失败!"));
|
||||
else
|
||||
MessageBoxEx(NULL, _T("Cancel loop task send failed."), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
||||
return;
|
||||
}
|
||||
|
||||
if (EN_RECV_SUCCESS == theApp.m_NetWorkOper.RecvMsgDirect(chStr, &iLen, 10, 5000))
|
||||
{
|
||||
if ((1 > iLen) || (EN_RECV_SUCCESS != chStr[0]))
|
||||
{
|
||||
theApp.m_NetWorkOper.SetSuspendForThread(false);
|
||||
CString szMsg;
|
||||
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
{
|
||||
szMsg.Format(_T("任务 '%s'取消循环失败."), ucTaskID);
|
||||
AfxMessageBox(szMsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
szMsg.Format(_T("Task ID '%s' cancal trust to failed."), ucTaskID);
|
||||
MessageBoxEx(NULL, szMsg, STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
AfxMessageBox(_T("取消循环任务完成"));
|
||||
else
|
||||
MessageBoxEx(NULL, _T("Cancel loop task finished."), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
||||
theApp.m_NetWorkOper.SetSuspendForThread(false);
|
||||
}
|
||||
|
||||
|
||||
void DialLoopTaskCancel::OnBnClickedExit()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
m_LoopTablelist.RemoveAll();
|
||||
SendMessage(WM_CLOSE, NULL, NULL);
|
||||
}
|
||||
|
||||
|
||||
BOOL DialLoopTaskCancel::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
// TODO: 在此添加额外的初始化
|
||||
CString strColTitle;
|
||||
int iColIndex = (int)VAL_ZERO;
|
||||
|
||||
m_ClistLoopTask.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP | LVS_EX_ONECLICKACTIVATE | LVS_EX_GRIDLINES);
|
||||
m_CStaticTaskNum.SetWindowTextA(_T("0"));
|
||||
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_TDNAME + g_UIOffset);
|
||||
m_ClistLoopTask.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 110);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
if (LANG_ZHCN == g_iUILanguage) { strColTitle += _T("任务ID"); }
|
||||
else{ strColTitle += _T("Task ID"); }
|
||||
m_ClistLoopTask.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 250);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
if (LANG_ZHCN == g_iUILanguage) { strColTitle += _T("任务类型"); }
|
||||
else{ strColTitle += _T("Task type"); }
|
||||
m_ClistLoopTask.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 80);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
if (LANG_ZHCN == g_iUILanguage) { strColTitle += _T("开始时间"); }
|
||||
else{ strColTitle += _T("Start time"); }
|
||||
m_ClistLoopTask.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 150);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
if (LANG_ZHCN == g_iUILanguage) { strColTitle += _T("结束时间"); }
|
||||
else{ strColTitle += _T("End time"); }
|
||||
m_ClistLoopTask.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 150);
|
||||
|
||||
int iIndex = 0;
|
||||
CString szTime;
|
||||
if (0 < m_LoopTablelist.GetCount() && 0 == m_LoopTablelist.IsEmpty())
|
||||
{
|
||||
POSITION pos = m_LoopTablelist.GetHeadPosition();
|
||||
while (pos != NULL)
|
||||
{
|
||||
STLoopTaskTable taskTable = m_LoopTablelist.GetNext(pos);
|
||||
m_ClistLoopTask.InsertItem(iIndex, _T(""));
|
||||
m_ClistLoopTask.SetItemText(iIndex, 0, (LPCTSTR)(_bstr_t)taskTable.ucTaskName);
|
||||
m_ClistLoopTask.SetItemText(iIndex, 1, (LPCTSTR)(_bstr_t)taskTable.ucTaskID);
|
||||
m_ClistLoopTask.SetItemText(iIndex, 2, (LPCTSTR)(_bstr_t)taskTable.ucLoopType);
|
||||
szTime.Empty(); szTime = Tm2LocalStr(taskTable.uiStartTime); //szTime.Format("%u",taskTable.uiStartTime);
|
||||
m_ClistLoopTask.SetItemText(iIndex, 3, (LPCTSTR)(_bstr_t)szTime);
|
||||
szTime.Empty(); szTime = Tm2LocalStr(taskTable.uiEndTime); //szTime.Format("%u",taskTable.uiEndTime);
|
||||
m_ClistLoopTask.SetItemText(iIndex, 4, (LPCTSTR)(_bstr_t)szTime);
|
||||
iIndex++;
|
||||
}
|
||||
}
|
||||
CString szTaskNum; szTaskNum.Format(_T("%u"), iIndex);
|
||||
m_CStaticTaskNum.SetWindowTextA(_T(szTaskNum));
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// 异常: OCX 属性页应返回 FALSE
|
||||
}
|
||||
Reference in New Issue
Block a user