| | |
| | | #include "MsgDlg.h" |
| | | |
| | | |
| | | #define DELAY_CLOSE 2000 |
| | | |
| | | |
| | | // CPagePortProperty 对话框 |
| | | |
| | | IMPLEMENT_DYNAMIC(CPagePortProperty, CHMPropertyPage) |
| | |
| | | // TODO: 在此处添加消息处理程序代码 |
| | | } |
| | | |
| | | int g_nMsgDlgShow = 0; |
| | | void CPagePortProperty::OnBnClickedCheckEnable() |
| | | { |
| | | BOOL bCheck = ((CButton*)GetDlgItem(IDC_CHECK_ENABLE))->GetCheck() == BST_CHECKED; |
| | |
| | | |
| | | |
| | | // enable port |
| | | g_nMsgDlgShow = 0; |
| | | CMsgDlg msgDlg("请等待", "正在操作,请等待..."); |
| | | |
| | | ASSERT(m_pPort != nullptr); |
| | |
| | | if (code == WOK) { |
| | | LOGI("%s Port 成功.", bCheck ? _T("enable") : _T("disable")); |
| | | |
| | | msgDlg.DelayClose(3000); |
| | | if (g_nMsgDlgShow == 0 && ::IsWindow(msgDlg.GetSafeHwnd())) { |
| | | strMsg.Format(_T("%s Port 成功."), bCheck ? _T("enable") : _T("disable")); |
| | | msgDlg.DelayClose(3000); |
| | | msgDlg.DelayClose(DELAY_CLOSE); |
| | | msgDlg.SetIcon(MSG_BOX_SUCCEED); |
| | | msgDlg.SetTitle(_T("操作成功")); |
| | | msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg); |
| | | msgDlg.SetMarquee(FALSE, 0); |
| | | msgDlg.SetCompleteCode(0); |
| | | } |
| | | } |
| | | else { |
| | | LOGI("%s Port 失败,code:%d", bCheck ? _T("enable") : _T("disable"), code); |
| | | |
| | | msgDlg.DelayClose(3000); |
| | | if (g_nMsgDlgShow == 0 && ::IsWindow(msgDlg.GetSafeHwnd())) { |
| | | strMsg.Format(_T("%s Port 失败,code:%d"), bCheck ? _T("enable") : _T("disable"), code); |
| | | msgDlg.DelayClose(3000); |
| | | msgDlg.DelayClose(DELAY_CLOSE); |
| | | msgDlg.SetIcon(MSG_BOX_ERROR); |
| | | msgDlg.SetTitle(_T("操作失败")); |
| | | msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg); |
| | | msgDlg.SetMarquee(FALSE, 0); |
| | | msgDlg.SetCompleteCode(-1); |
| | | |
| | | } |
| | | // 还原控件状态 |
| | | EnableCtrls(!bCheck); |
| | | ((CButton*)GetDlgItem(IDC_CHECK_ENABLE))->SetCheck(!bCheck ? BST_CHECKED : BST_UNCHECKED); |
| | |
| | | }); |
| | | |
| | | msgDlg.DoModal(); |
| | | g_nMsgDlgShow = 1; |
| | | } |
| | | |
| | | void CPagePortProperty::OnCbnSelchangeComboPortType() |
| | | { |
| | | g_nMsgDlgShow = 0; |
| | | CMsgDlg msgDlg("请等待", "正在操作,请等待..."); |
| | | msgDlg.SetData((DWORD_PTR)this); |
| | | |
| | |
| | | if (code == WOK) { |
| | | LOGI("设置Port Type(%d)成功.", index + 1); |
| | | |
| | | msgDlg.DelayClose(3000); |
| | | if (g_nMsgDlgShow == 0 && ::IsWindow(msgDlg.GetSafeHwnd())) { |
| | | strMsg.Format(_T("设置Port Type(%d)成功"), index + 1); |
| | | msgDlg.DelayClose(3000); |
| | | msgDlg.DelayClose(DELAY_CLOSE); |
| | | msgDlg.SetIcon(MSG_BOX_SUCCEED); |
| | | msgDlg.SetTitle(_T("操作成功")); |
| | | msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg); |
| | | msgDlg.SetMarquee(FALSE, 0); |
| | | msgDlg.SetCompleteCode(0); |
| | | } |
| | | } |
| | | else { |
| | | LOGI("设置Port Type(%d)失败,code:%d", index + 1, code); |
| | | |
| | | msgDlg.DelayClose(3000); |
| | | if (g_nMsgDlgShow == 0 && ::IsWindow(msgDlg.GetSafeHwnd())) { |
| | | strMsg.Format(_T("设置Port Type(%d)失败,code:%d"), index + 1, code); |
| | | msgDlg.DelayClose(3000); |
| | | msgDlg.DelayClose(DELAY_CLOSE); |
| | | msgDlg.SetIcon(MSG_BOX_ERROR); |
| | | msgDlg.SetTitle(_T("操作失败")); |
| | | msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg); |
| | | msgDlg.SetMarquee(FALSE, 0); |
| | | msgDlg.SetCompleteCode(-1); |
| | | } |
| | | } |
| | | |
| | | return 0; |
| | | }); |
| | | |
| | | msgDlg.DoModal(); |
| | | g_nMsgDlgShow = 1; |
| | | } |
| | | |
| | | void CPagePortProperty::OnCbnSelchangeComboPortMode() |
| | | { |
| | | g_nMsgDlgShow = 0; |
| | | CMsgDlg msgDlg("请等待", "正在操作,请等待..."); |
| | | msgDlg.SetData((DWORD_PTR)this); |
| | | |
| | |
| | | if (code == WOK) { |
| | | LOGI("设置Port Mode(%d)成功.", index); |
| | | |
| | | msgDlg.DelayClose(3000); |
| | | if (g_nMsgDlgShow == 0 && ::IsWindow(msgDlg.GetSafeHwnd())) { |
| | | strMsg.Format(_T("设置Port Mode(%d)成功"), index); |
| | | msgDlg.DelayClose(3000); |
| | | msgDlg.DelayClose(DELAY_CLOSE); |
| | | msgDlg.SetIcon(MSG_BOX_SUCCEED); |
| | | msgDlg.SetTitle(_T("操作成功")); |
| | | msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg); |
| | | msgDlg.SetMarquee(FALSE, 0); |
| | | msgDlg.SetCompleteCode(0); |
| | | } |
| | | } |
| | | else { |
| | | LOGI("设置Port Mode(%d)失败,code:%d", index, code); |
| | | |
| | | msgDlg.DelayClose(3000); |
| | | if (g_nMsgDlgShow == 0 && ::IsWindow(msgDlg.GetSafeHwnd())) { |
| | | strMsg.Format(_T("设置Port Mode(%d)失败,code:%d"), index, code); |
| | | msgDlg.DelayClose(3000); |
| | | msgDlg.DelayClose(DELAY_CLOSE); |
| | | msgDlg.SetIcon(MSG_BOX_ERROR); |
| | | msgDlg.SetTitle(_T("操作失败")); |
| | | msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg); |
| | | msgDlg.SetMarquee(FALSE, 0); |
| | | msgDlg.SetCompleteCode(-1); |
| | | } |
| | | } |
| | | |
| | | return 0; |
| | | }); |
| | | |
| | | msgDlg.DoModal(); |
| | | g_nMsgDlgShow = 1; |
| | | } |
| | | |
| | | void CPagePortProperty::OnCbnSelchangeComboPortCassertType() |
| | | { |
| | | g_nMsgDlgShow = 0; |
| | | CMsgDlg msgDlg("请等待", "正在操作,请等待..."); |
| | | msgDlg.SetData((DWORD_PTR)this); |
| | | |
| | | ASSERT(m_pPort != nullptr); |
| | | int index = ((CComboBox*)GetDlgItem(IDC_COMBO_PORT_CASSERT_TYPE))->GetCurSel(); |
| | | m_pPort->setPortMode(SERVO::PortMode(index + 1), [&](int code) -> int { |
| | | m_pPort->setCassetteType(SERVO::CassetteType(index + 1), [&](int code) -> int { |
| | | Sleep(100); |
| | | CString strMsg; |
| | | |
| | | if (code == WOK) { |
| | | LOGI("设置Cassette type(%d)成功.", index + 1); |
| | | |
| | | msgDlg.DelayClose(3000); |
| | | if (g_nMsgDlgShow == 0 && ::IsWindow(msgDlg.GetSafeHwnd())) { |
| | | strMsg.Format(_T("设置Cassette type(%d)成功"), index + 1); |
| | | msgDlg.DelayClose(3000); |
| | | msgDlg.DelayClose(DELAY_CLOSE); |
| | | msgDlg.SetIcon(MSG_BOX_SUCCEED); |
| | | msgDlg.SetTitle(_T("操作成功")); |
| | | msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg); |
| | | msgDlg.SetMarquee(FALSE, 0); |
| | | msgDlg.SetCompleteCode(0); |
| | | } |
| | | } |
| | | else { |
| | | LOGI("设置Cassette type(%d)失败,code:%d", index + 1, code); |
| | | |
| | | msgDlg.DelayClose(3000); |
| | | if (g_nMsgDlgShow == 0 && ::IsWindow(msgDlg.GetSafeHwnd())) { |
| | | strMsg.Format(_T("设置Cassette type(%d)失败,code:%d"), index + 1, code); |
| | | msgDlg.DelayClose(3000); |
| | | msgDlg.DelayClose(DELAY_CLOSE); |
| | | msgDlg.SetIcon(MSG_BOX_ERROR); |
| | | msgDlg.SetTitle(_T("操作失败")); |
| | | msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg); |
| | | msgDlg.SetMarquee(FALSE, 0); |
| | | msgDlg.SetCompleteCode(-1); |
| | | } |
| | | } |
| | | |
| | | return 0; |
| | | }); |
| | | |
| | | msgDlg.DoModal(); |
| | | g_nMsgDlgShow = 1; |
| | | } |
| | | |
| | | void CPagePortProperty::OnCbnSelchangeComboPortTransferMode() |
| | | { |
| | | // TODO: 在此添加控件通知处理程序代码 |
| | | g_nMsgDlgShow = 0; |
| | | CMsgDlg msgDlg("请等待", "正在操作,请等待..."); |
| | | msgDlg.SetData((DWORD_PTR)this); |
| | | |
| | | ASSERT(m_pPort != nullptr); |
| | | int index = ((CComboBox*)GetDlgItem(IDC_COMBO_PORT_TRANSFER_MODE))->GetCurSel(); |
| | | m_pPort->setPortMode(SERVO::PortMode(index + 1), [&](int code) -> int { |
| | | m_pPort->setTransferMode(SERVO::TransferMode(index + 1), [&](int code) -> int { |
| | | Sleep(100); |
| | | CString strMsg; |
| | | |
| | | if (code == WOK) { |
| | | LOGI("设置Transfer mode(%d)成功.", index + 1); |
| | | |
| | | msgDlg.DelayClose(3000); |
| | | if (g_nMsgDlgShow == 0 && ::IsWindow(msgDlg.GetSafeHwnd())) { |
| | | strMsg.Format(_T("设置Transfer mode(%d)成功"), index + 1); |
| | | msgDlg.DelayClose(3000); |
| | | msgDlg.DelayClose(DELAY_CLOSE); |
| | | msgDlg.SetIcon(MSG_BOX_SUCCEED); |
| | | msgDlg.SetTitle(_T("操作成功")); |
| | | msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg); |
| | | msgDlg.SetMarquee(FALSE, 0); |
| | | msgDlg.SetCompleteCode(0); |
| | | } |
| | | } |
| | | else { |
| | | LOGI("设置Transfer mode(%d)失败,code:%d", index + 1, code); |
| | | |
| | | msgDlg.DelayClose(3000); |
| | | if (g_nMsgDlgShow == 0 && ::IsWindow(msgDlg.GetSafeHwnd())) { |
| | | strMsg.Format(_T("设置Transfer mode(%d)失败,code:%d"), index + 1, code); |
| | | msgDlg.DelayClose(3000); |
| | | msgDlg.DelayClose(DELAY_CLOSE); |
| | | msgDlg.SetIcon(MSG_BOX_ERROR); |
| | | msgDlg.SetTitle(_T("操作失败")); |
| | | msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg); |
| | | msgDlg.SetMarquee(FALSE, 0); |
| | | msgDlg.SetCompleteCode(-1); |
| | | } |
| | | } |
| | | |
| | | return 0; |
| | | }); |
| | | |
| | | msgDlg.DoModal(); |
| | | g_nMsgDlgShow = 1; |
| | | } |
| | | |
| | | void CPagePortProperty::OnBnClickedCheckAutoChange() |
| | | { |
| | | BOOL bCheck = ((CButton*)GetDlgItem(IDC_CHECK_AUTO_CHANGE))->GetCheck() == BST_CHECKED; |
| | | EnableCtrls(bCheck); |
| | | |
| | | |
| | | // enable port |
| | | g_nMsgDlgShow = 0; |
| | | CMsgDlg msgDlg("请等待", "正在操作,请等待..."); |
| | | |
| | | ASSERT(m_pPort != nullptr); |
| | |
| | | if (code == WOK) { |
| | | LOGI("%s Auto Change 成功.", bCheck ? _T("enable") : _T("disable")); |
| | | |
| | | msgDlg.DelayClose(3000); |
| | | if (g_nMsgDlgShow == 0 && ::IsWindow(msgDlg.GetSafeHwnd())) { |
| | | strMsg.Format(_T("%s Auto Change 成功."), bCheck ? _T("enable") : _T("disable")); |
| | | msgDlg.DelayClose(3000); |
| | | msgDlg.DelayClose(DELAY_CLOSE); |
| | | msgDlg.SetIcon(MSG_BOX_SUCCEED); |
| | | msgDlg.SetTitle(_T("操作成功")); |
| | | msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg); |
| | | msgDlg.SetMarquee(FALSE, 0); |
| | | msgDlg.SetCompleteCode(0); |
| | | } |
| | | } |
| | | else { |
| | | LOGI("%s Auto Change 失败,code:%d", bCheck ? _T("enable") : _T("disable"), code); |
| | | |
| | | msgDlg.DelayClose(3000); |
| | | if (g_nMsgDlgShow == 0 && ::IsWindow(msgDlg.GetSafeHwnd())) { |
| | | strMsg.Format(_T("%s Auto Change 失败,code:%d"), bCheck ? _T("enable") : _T("disable"), code); |
| | | msgDlg.DelayClose(3000); |
| | | msgDlg.DelayClose(DELAY_CLOSE); |
| | | msgDlg.SetIcon(MSG_BOX_ERROR); |
| | | msgDlg.SetTitle(_T("操作失败")); |
| | | msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg); |
| | | msgDlg.SetMarquee(FALSE, 0); |
| | | msgDlg.SetCompleteCode(-1); |
| | | } |
| | | |
| | | // 还原控件状态 |
| | | ((CButton*)GetDlgItem(IDC_CHECK_AUTO_CHANGE))->SetCheck(!bCheck ? BST_CHECKED : BST_UNCHECKED); |
| | |
| | | }); |
| | | |
| | | msgDlg.DoModal(); |
| | | g_nMsgDlgShow = 1; |
| | | } |
| | | |
| | | void CPagePortProperty::EnableCtrls(BOOL bEnable) |