|
|
@@ -7,6 +7,8 @@
|
|
|
|
|
|
#include "../helper/CSpeech.h"
|
|
|
|
|
|
+#define WM_TIMER_WND_CLOSE 200001
|
|
|
+
|
|
|
void CShoukuanWnd::Init()
|
|
|
{
|
|
|
//CSpeech::MSSSpeak(L"欢迎使用智铺子收银插件!");
|
|
|
@@ -56,6 +58,9 @@ LRESULT CShoukuanWnd::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bH
|
|
|
|
|
|
LRESULT CShoukuanWnd::OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
|
{
|
|
|
+ //销毁定时器
|
|
|
+ KillTimer(m_hWnd, WM_TIMER_WND_CLOSE);
|
|
|
+
|
|
|
bHandled = FALSE;
|
|
|
return 0;
|
|
|
}
|
|
|
@@ -141,6 +146,59 @@ LRESULT CShoukuanWnd::OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+LRESULT CShoukuanWnd::OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
|
+{
|
|
|
+ if (wParam != WM_TIMER_WND_CLOSE)
|
|
|
+ {
|
|
|
+ bHandled = FALSE;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (m_shoukuan_status == 0 || m_shoukuan_status == 1)
|
|
|
+ {
|
|
|
+ }
|
|
|
+ else if (m_shoukuan_status == 2)
|
|
|
+ {
|
|
|
+ }
|
|
|
+ else if (m_shoukuan_status == 3)
|
|
|
+ {
|
|
|
+ m_timer_now--;
|
|
|
+
|
|
|
+ if (m_timer_now > 0)
|
|
|
+ {
|
|
|
+ CLabelUI* attention = static_cast<CLabelUI*>(m_pm.FindControl(_T("shouyin_pay_success_attention")));
|
|
|
+ std::wstring ws_attention = L"按任意键关闭窗口," + to_wstring(m_timer_now) + L" 秒后自动关闭";
|
|
|
+ attention->SetText(ws_attention.c_str());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Close();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (m_shoukuan_status == 4)
|
|
|
+ {
|
|
|
+ m_timer_now--;
|
|
|
+
|
|
|
+ if (m_timer_now > 0)
|
|
|
+ {
|
|
|
+ CLabelUI* pFailMessage = static_cast<CLabelUI*>(m_pm.FindControl(_T("shouyin_pay_fail_attention")));
|
|
|
+
|
|
|
+ std::wstring ws_fail_message = L"失败信息:" + CLewaimaiString::UTF8ToUnicode(m_fail_message) + L",按任意键关闭窗口,";
|
|
|
+ std::wstring ws_attention = ws_fail_message + to_wstring(m_timer_now) + L" 秒后自动关闭";
|
|
|
+
|
|
|
+ pFailMessage->SetText(ws_attention.c_str());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Close();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ bHandled = TRUE;
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
LRESULT CShoukuanWnd::OnShoukuanUpdateFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
|
{
|
|
|
UpdateFocus();
|
|
|
@@ -194,6 +252,9 @@ LRESULT CShoukuanWnd::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|
|
case WM_SHOUKUAN_STATUS_FAIL:
|
|
|
lRes = OnShoukuanFail(uMsg, wParam, lParam, bHandled);
|
|
|
break;
|
|
|
+ case WM_TIMER:
|
|
|
+ lRes = OnTimer(uMsg, wParam, lParam, bHandled);
|
|
|
+ break;
|
|
|
default:
|
|
|
bHandled = FALSE;
|
|
|
}
|
|
|
@@ -354,6 +415,12 @@ LRESULT CShoukuanWnd::OnShoukuanSuccess(UINT uMsg, WPARAM wParam, LPARAM lParam,
|
|
|
zhifubao_logo->SetVisible(true);
|
|
|
}
|
|
|
|
|
|
+ CLabelUI* attention = static_cast<CLabelUI*>(m_pm.FindControl(_T("shouyin_pay_success_attention")));
|
|
|
+ std::wstring ws_attention = L"按任意键关闭窗口," + to_wstring(m_timer_now) + L" 秒后自动关闭";
|
|
|
+ attention->SetText(ws_attention.c_str());
|
|
|
+
|
|
|
+ SetTimer(m_hWnd, WM_TIMER_WND_CLOSE, 1000, NULL);
|
|
|
+
|
|
|
SetFocus(m_hWnd);
|
|
|
|
|
|
bHandled = TRUE;
|
|
|
@@ -376,8 +443,12 @@ LRESULT CShoukuanWnd::OnShoukuanFail(UINT uMsg, WPARAM wParam, LPARAM lParam, BO
|
|
|
|
|
|
CLabelUI* pFailMessage = static_cast<CLabelUI*>(m_pm.FindControl(_T("shouyin_pay_fail_attention")));
|
|
|
|
|
|
- std::wstring ws_fail_message = L"失败信息:" + CLewaimaiString::UTF8ToUnicode(m_fail_message) + L",按任意键关闭窗口";;
|
|
|
- pFailMessage->SetText(ws_fail_message.c_str());
|
|
|
+ std::wstring ws_fail_message = L"失败信息:" + CLewaimaiString::UTF8ToUnicode(m_fail_message) + L",按任意键关闭窗口,";
|
|
|
+ std::wstring ws_attention = ws_fail_message + to_wstring(m_timer_now) + L" 秒后自动关闭";
|
|
|
+
|
|
|
+ pFailMessage->SetText(ws_attention.c_str());
|
|
|
+
|
|
|
+ SetTimer(m_hWnd, WM_TIMER_WND_CLOSE, 1000, NULL);
|
|
|
|
|
|
SetFocus(m_hWnd);
|
|
|
|