// DLG_SmsTask_Modify.cpp: 实现文件 // #include "StdAfx.h" #include "SmsManager.h" #include "DLG_SmsTask_Modify.h" #include "afxdialogex.h" // DLG_SmsTask_Modify 对话框 IMPLEMENT_DYNAMIC(DLG_SmsTask_Modify, CDialogEx) DLG_SmsTask_Modify::DLG_SmsTask_Modify(CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_K_SMSTASK_MODIFY, pParent) , m_strCorpID(_T("")) , m_strCreateTime(_T("")) , m_strMsg(_T("")) , m_strReason(_T("")) { memset(&m_SeeData, 0, sizeof(m_SeeData)); m_lReasonType = 0; m_lOperCount = 0; } DLG_SmsTask_Modify::~DLG_SmsTask_Modify() { } void DLG_SmsTask_Modify::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_CORPID, m_strCorpID); DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_CREATETIME, m_strCreateTime); DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_MSG, m_strMsg); // DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_REASON, m_strReason); DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_REASON, m_strReason); DDV_MaxChars(pDX, m_strReason, 60); DDX_Control(pDX, IDD_K_SMSTASK_MODIFY_REASON_S, m_S_Reason); } BEGIN_MESSAGE_MAP(DLG_SmsTask_Modify, CDialogEx) ON_BN_CLICKED(IDOK, &DLG_SmsTask_Modify::OnBnClickedOk) ON_BN_CLICKED(IDD_K_SMSTASK_MODIFY_FAILREASON, &DLG_SmsTask_Modify::OnBnClickedKSmstaskModifyFailreason) ON_COMMAND_RANGE(MENU_SMSTASK_FAILREASON_BEGIN, MENU_SMSTASK_FAILREASON_END, On_User_FailReason) END_MESSAGE_MAP() // DLG_SmsTask_Modify 消息处理程序 void DLG_SmsTask_Modify::OnBnClickedOk() { if (!UpdateData(true)) return; if (m_strReason.GetLength() <= 3) { MessageBox(_T("请输入审核失败原因!"), _T("错误"), MB_ICONWARNING|MB_OK); GetDlgItem(IDD_K_SMSTASK_MODIFY_REASON)->SetFocus(); return; } CDialogEx::OnOK(); } BOOL DLG_SmsTask_Modify::OnInitDialog() { CDialogEx::OnInitDialog(); // TODO: 在此添加额外的初始化 m_strCorpID.Format(_T("%d"), m_SeeData.lCorpID); m_strCreateTime.Format(_T("%04d.%02d.%02d %02d:%02d"), m_SeeData.tCreateTime.wYear, m_SeeData.tCreateTime.wMonth, m_SeeData.tCreateTime.wDay, m_SeeData.tCreateTime.wHour, m_SeeData.tCreateTime.wMinute); m_strMsg = m_SeeData.szMsg; CString strTitle; this->GetWindowText(strTitle); if (m_lReasonType == 1) //停止任务 { strTitle = _T("批量短信任务-强制停止"); m_S_Reason.SetWindowText(_T("强制停止原因")); } if (m_lReasonType == 2) //重启任务 { strTitle = _T("批量短信任务-重启任务"); m_S_Reason.SetWindowText(_T("重启任务原因")); } if (m_lOperCount > 1) strTitle.Append(_T(" 注意:你已选择多条记录,此为批量操作!")); this->SetWindowText(strTitle); UpdateData(false); return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE } void DLG_SmsTask_Modify::SetParam(ANS_PLTaskSms_SeeData * pSeeData,long lReasonType,long lOperCount) { m_SeeData = *pSeeData; m_lReasonType = lReasonType; m_lOperCount = lOperCount; } void DLG_SmsTask_Modify::OnBnClickedKSmstaskModifyFailreason() { CMenu menu; menu.CreatePopupMenu(); if (m_strFailReason.GetCount() <= 0) { m_strFailReason.Add(_T("短信内容含双签名,请修改后重新提交。")); m_strFailReason.Add(_T("短信内容有乱码,请修改后重新提交。")); m_strFailReason.Add(_T("短信内容含涉嫌敏感内容,请修改后重新提交。")); m_strFailReason.Add(_T("行业应用账号不允许发送此内容,请用营销账号重新提交。")); m_strFailReason.Add(_T("请规范退订格式,修改后重新提交。短信结尾为:拒收请回复R")); m_strFailReason.Add(_T("此内容暂不支持发送。")); m_strFailReason.Add(_T("客户申请驳回,审核失败。")); } int iCount = m_strFailReason.GetCount(); for (int i = 0; i < iCount; i++) { menu.AppendMenu(MF_STRING, MENU_SMSTASK_FAILREASON_BEGIN+i, m_strFailReason.GetAt(i)); } //显示菜单 RECT rect = { 0 }; this->GetDlgItem(IDD_K_SMSTASK_MODIFY_FAILREASON)->GetWindowRect(&rect); //this->ClientToScreen( &pt); menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON, rect.left, rect.bottom, this, NULL); menu.DestroyMenu(); } void DLG_SmsTask_Modify::On_User_FailReason(UINT nID) { UINT ll = MENU_SMSTASK_FAILREASON_BEGIN; long lIndex = nID - ll; if (lIndex>=0 && lIndex < m_strFailReason.GetCount()) { //CString str = m_strFailReason.GetAt(lIndex); //if (!UpdateData(true)) // return; //m_strReason = m_strReason + str; // UpdateData(false); ((CEdit*)GetDlgItem(IDD_K_SMSTASK_MODIFY_REASON))->SetWindowText(m_strFailReason.GetAt(lIndex)); } }