|
|
@@ -203,28 +203,26 @@ void CValueWnd::WatchWnd()
|
|
|
{
|
|
|
if(m_watchWnd != NULL)
|
|
|
{
|
|
|
- char szTitle[MAX_PATH] = { 0 };
|
|
|
+ std::wstring value;
|
|
|
|
|
|
- LPSTR lpWindowName = szTitle;
|
|
|
-
|
|
|
- std::string value;
|
|
|
-
|
|
|
- int ret = ::SendMessageA(m_watchWnd, WM_GETTEXT, (WPARAM)(MAX_PATH), (LPARAM)lpWindowName);
|
|
|
+ TCHAR szTitle[MAX_PATH] = { 0 };
|
|
|
+ LPWSTR lpWindowName = szTitle;
|
|
|
|
|
|
+ int ret = ::SendMessageW(m_watchWnd, WM_GETTEXT, (WPARAM)(MAX_PATH), (LPARAM)lpWindowName);
|
|
|
if(ret == 0)
|
|
|
{
|
|
|
//说明m_watchWnd已经失效了
|
|
|
- value = "0.00";
|
|
|
+ value = L"0.00";
|
|
|
|
|
|
m_watchWnd = NULL;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
value = lpWindowName;
|
|
|
- }
|
|
|
|
|
|
- //先对获取到的值做一下处理,删除掉人民币符号
|
|
|
- CLewaimaiString::Replace(CLewaimaiString::UTF8ToUnicode(value), L"¥", L"");
|
|
|
+ //先对获取到的值做一下处理,删除掉人民币符号
|
|
|
+ CLewaimaiString::Replace(value, L"¥", L"");
|
|
|
+ }
|
|
|
|
|
|
if(value != m_watchValue)
|
|
|
{
|
|
|
@@ -312,10 +310,10 @@ void CValueWnd::StartOcrWork()
|
|
|
else
|
|
|
{
|
|
|
std::string format_value = CLewaimaiString::DoubleToString(atof(ocr_result.c_str()), 2);
|
|
|
- m_watchValue = format_value;
|
|
|
-
|
|
|
std::wstring ws_ocr_result = CLewaimaiString::UTF8ToUnicode(format_value);
|
|
|
|
|
|
+ m_watchValue = ws_ocr_result;
|
|
|
+
|
|
|
CLabelUI* valueLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("value")));
|
|
|
|
|
|
valueLabel->SetText(ws_ocr_result.c_str());
|
|
|
@@ -472,7 +470,9 @@ LRESULT CValueWnd::OnWatchWndUpdate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOO
|
|
|
{
|
|
|
CLabelUI* valueLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("value")));
|
|
|
|
|
|
- std::string money_show = CLewaimaiString::DoubleToString(atof(m_watchValue.c_str()), 2);
|
|
|
+ std::string utf8_watch_value = CLewaimaiString::UnicodeToUTF8(m_watchValue);
|
|
|
+
|
|
|
+ std::string money_show = CLewaimaiString::DoubleToString(atof(utf8_watch_value.c_str()), 2);
|
|
|
valueLabel->SetText(CLewaimaiString::UTF8ToUnicode(money_show).c_str());
|
|
|
|
|
|
return TRUE;
|
|
|
@@ -581,9 +581,12 @@ void CValueWnd::ShowShoukuan()
|
|
|
m_shoukuanHWND = pShoukuanWnd->GetHWND();
|
|
|
|
|
|
//只要金额不为0,就初始化
|
|
|
- if (atof(m_watchValue.c_str()) > 0.001)
|
|
|
- {
|
|
|
- pShoukuanWnd->InitMoney(CLewaimaiString::UTF8ToUnicode(m_watchValue));
|
|
|
+ std::string utf8_watch_value = CLewaimaiString::UnicodeToUTF8(m_watchValue);
|
|
|
+ if (atof(utf8_watch_value.c_str()) > 0.001)
|
|
|
+ {
|
|
|
+ std::string format_string = CLewaimaiString::DoubleToString(atof(utf8_watch_value.c_str()), 2);
|
|
|
+ m_watchValue = CLewaimaiString::UTF8ToUnicode(format_string);
|
|
|
+ pShoukuanWnd->InitMoney(m_watchValue);
|
|
|
}
|
|
|
|
|
|
UINT ret = pShoukuanWnd->ShowModal();
|
|
|
@@ -765,7 +768,7 @@ void CValueWnd::UpdateKexian(const char* data, int length)
|
|
|
CLabelUI* valueLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("value")));
|
|
|
|
|
|
std::string money_show = CLewaimaiString::DoubleToString(atof(money.c_str()), 2);
|
|
|
- m_watchValue = money_show;
|
|
|
+ m_watchValue = CLewaimaiString::UTF8ToUnicode(money_show);
|
|
|
|
|
|
valueLabel->SetText(CLewaimaiString::UTF8ToUnicode(money_show).c_str());
|
|
|
}
|
|
|
@@ -780,7 +783,7 @@ void CValueWnd::UpdateKexian(const char* data, int length)
|
|
|
CLabelUI* valueLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("value")));
|
|
|
|
|
|
std::string money_show = CLewaimaiString::DoubleToString(atof(money.c_str()), 2);
|
|
|
- m_watchValue = money_show;
|
|
|
+ m_watchValue = CLewaimaiString::UTF8ToUnicode(money_show);
|
|
|
|
|
|
valueLabel->SetText(CLewaimaiString::UTF8ToUnicode(money_show).c_str());
|
|
|
}
|