Commit c22bc376ab45cc70cea26ac96dd9e00f7800df5e

Authored by liuye
1 parent 7c3f2e17

feat<central_clearing_system>:基本完成下单控件开发

完成下单控件开发,快捷键开发,列表正在开发中。
central_clearing_system/ETradeClient.rc
@@ -130,7 +130,10 @@ END @@ -130,7 +130,10 @@ END
130 130
131 IDR_ACCELERATOR_ORDER ACCELERATORS 131 IDR_ACCELERATOR_ORDER ACCELERATORS
132 BEGIN 132 BEGIN
  133 + VK_RETURN, ID_ACCELERATOR_ENTER, VIRTKEY, NOINVERT
133 VK_TAB, ID_ACCELERATOR_TAB, VIRTKEY, NOINVERT 134 VK_TAB, ID_ACCELERATOR_TAB, VIRTKEY, NOINVERT
  135 + VK_UP, ID_ACCELERATOR_UP, VIRTKEY, NOINVERT
  136 + VK_DOWN, ID_ACCELERATOR_DOWN, VIRTKEY, NOINVERT
134 END 137 END
135 138
136 139
@@ -200,7 +203,7 @@ BEGIN @@ -200,7 +203,7 @@ BEGIN
200 CONTROL "新中新电子读卡器",IDC_RADIO_XINZHONGXIN,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,174,186,71,10 203 CONTROL "新中新电子读卡器",IDC_RADIO_XINZHONGXIN,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,174,186,71,10
201 END 204 END
202 205
203 -IDD_DIALOG_PLACE_ORDER DIALOGEX 0, 0, 324, 238 206 +IDD_DIALOG_PLACE_ORDER DIALOGEX 0, 0, 338, 238
204 STYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU 207 STYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
205 CAPTION "结算下单" 208 CAPTION "结算下单"
206 FONT 12, "微软雅黑", 400, 0, 0x86 209 FONT 12, "微软雅黑", 400, 0, 0x86
@@ -221,10 +224,10 @@ BEGIN @@ -221,10 +224,10 @@ BEGIN
221 EDITTEXT IDC_EDIT_PRICE,30,70,53,15,ES_MULTILINE | ES_AUTOHSCROLL 224 EDITTEXT IDC_EDIT_PRICE,30,70,53,15,ES_MULTILINE | ES_AUTOHSCROLL
222 LTEXT "数 量",IDC_STATIC_COUNT,92,70,30,14 225 LTEXT "数 量",IDC_STATIC_COUNT,92,70,30,14
223 EDITTEXT IDC_EDIT_COUNT,114,69,44,13,ES_MULTILINE | ES_AUTOHSCROLL 226 EDITTEXT IDC_EDIT_COUNT,114,69,44,13,ES_MULTILINE | ES_AUTOHSCROLL
224 - PUSHBUTTON "去支付(&S)",IDC_BUTTON_PAY,270,10,50,14 227 + PUSHBUTTON "去支付(&S)",IDC_BUTTON_PAY,284,10,50,14
225 LTEXT "合计:",IDC_STATIC_HEJI,246,227,20,8 228 LTEXT "合计:",IDC_STATIC_HEJI,246,227,20,8
226 LTEXT "",IDC_STATIC_TOTAL_MONEY,289,227,8,8 229 LTEXT "",IDC_STATIC_TOTAL_MONEY,289,227,8,8
227 - LTEXT "",IDC_STATIC_ERROR,182,67,119,16 230 + LTEXT "",IDC_STATIC_ERROR,262,67,8,8
228 END 231 END
229 232
230 233
@@ -299,7 +302,7 @@ BEGIN @@ -299,7 +302,7 @@ BEGIN
299 IDD_DIALOG_PLACE_ORDER, DIALOG 302 IDD_DIALOG_PLACE_ORDER, DIALOG
300 BEGIN 303 BEGIN
301 MOCKUP, 1, 50, -25, -30, "C:\Users\WangGY\Desktop\TIM图片20180918183513.png" 304 MOCKUP, 1, 50, -25, -30, "C:\Users\WangGY\Desktop\TIM图片20180918183513.png"
302 - RIGHTMARGIN, 320 305 + RIGHTMARGIN, 334
303 HORZGUIDE, 67 306 HORZGUIDE, 67
304 END 307 END
305 END 308 END
central_clearing_system/ETradeClient/mfc_ui/GridCtrl.cpp
@@ -3333,6 +3333,8 @@ void CGridCtrl::ResetScrollBars() @@ -3333,6 +3333,8 @@ void CGridCtrl::ResetScrollBars()
3333 si.nMin = 0; 3333 si.nMin = 0;
3334 si.nMax = m_nVScrollMax; 3334 si.nMax = m_nVScrollMax;
3335 SetScrollInfo(SB_VERT, &si, TRUE); 3335 SetScrollInfo(SB_VERT, &si, TRUE);
  3336 +
  3337 + ShowScrollBar(SB_HORZ, FALSE);
3336 } 3338 }
3337 3339
3338 //////////////////////////////////////////////////////////////////////////////////// 3340 ////////////////////////////////////////////////////////////////////////////////////
central_clearing_system/ETradeClient/mfc_ui/etrade_edit_control.cpp
@@ -2,43 +2,30 @@ @@ -2,43 +2,30 @@
2 #include "etrade_edit_control.h" 2 #include "etrade_edit_control.h"
3 #include "resource.h" 3 #include "resource.h"
4 #include "place_order_dlg.h" 4 #include "place_order_dlg.h"
  5 +#include "etradeclient/utility/win_http.h"
  6 +#include "etradeclient/utility/logging.h"
  7 +#include "ETradeClient/utility/win_msg_define.h"
5 8
6 -IMPLEMENT_DYNAMIC( CEditBox, CEdit ) 9 +
  10 +IMPLEMENT_DYNAMIC( CEditBox, CMFCMaskedEdit )
7 11
8 CEditBox::CEditBox() 12 CEditBox::CEditBox()
9 { 13 {
10 - m_clrFrame = RGB( 245, 108, 108 ); 14 + m_clrFrame = RGB( 245, 108, 108 );
11 is_edit_red_ = false; 15 is_edit_red_ = false;
  16 + check_type_ = DoNotCheck;
12 } 17 }
13 18
14 CEditBox::~CEditBox() 19 CEditBox::~CEditBox()
15 { 20 {
16 - m_brushBk.DeleteObject();  
17 } 21 }
18 22
19 -BEGIN_MESSAGE_MAP( CEditBox, CEdit )  
20 - ON_WM_CTLCOLOR_REFLECT() 23 +BEGIN_MESSAGE_MAP(CEditBox, CEdit)
21 ON_WM_NCPAINT() 24 ON_WM_NCPAINT()
22 ON_WM_KILLFOCUS() 25 ON_WM_KILLFOCUS()
  26 + ON_WM_CHAR()
23 END_MESSAGE_MAP() 27 END_MESSAGE_MAP()
24 28
25 -HBRUSH CEditBox::CtlColor( CDC *pDC, UINT nCtlColor )  
26 -{  
27 - if( IsWindowEnabled() ) {  
28 - m_brushBk.DeleteObject();  
29 - m_brushBk.CreateSolidBrush( m_clrBackground );  
30 - pDC->SetBkColor( m_clrBackground );  
31 - pDC->SetTextColor( m_clrText );  
32 - }  
33 - else {  
34 - m_brushBk.DeleteObject();  
35 - m_brushBk.CreateSolidBrush( m_clrDisabledBack );  
36 - pDC->SetBkColor( m_clrDisabledBack );  
37 - pDC->SetTextColor( m_clrDisabledText );  
38 - }  
39 -  
40 - return (HBRUSH)m_brushBk.GetSafeHandle();  
41 -}  
42 29
43 void CEditBox::OnNcPaint() 30 void CEditBox::OnNcPaint()
44 { 31 {
@@ -66,87 +53,289 @@ void CEditBox::OnKillFocus(CWnd* pNewWnd) @@ -66,87 +53,289 @@ void CEditBox::OnKillFocus(CWnd* pNewWnd)
66 CEdit::OnKillFocus(pNewWnd); 53 CEdit::OnKillFocus(pNewWnd);
67 54
68 int dlg_id = GetDlgCtrlID(); 55 int dlg_id = GetDlgCtrlID();
  56 + GetParent()->SendMessage(WM_ORDER_KILL_FOCUS, dlg_id);
  57 +}
  58 +
  59 +void CEditBox::SetEditRed(bool is_red)
  60 +{
  61 + is_edit_red_ = is_red;
  62 + UpdateWindow();
  63 +}
  64 +
  65 +void CEditBox::SetCheck(CheckType type)
  66 +{
  67 + check_type_ = type;
  68 +}
  69 +
69 70
70 - switch (dlg_id) 71 +void CEditBox::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
  72 +{
  73 + if (check_type_ == DoNotCheck || nChar < 32 || nChar > 126)
71 { 74 {
72 - case IDC_EDIT_CARD: 75 + CEdit::OnChar(nChar, nRepCnt, nFlags);
  76 + return;
  77 + }
  78 +
  79 + CString sBefore, sAfter;
  80 + GetWindowText(sBefore);
  81 + //保存光标位置
  82 + int nPosCurbgn, nPosCurend;
  83 + GetSel(nPosCurbgn, nPosCurend);
  84 + CEdit::OnChar(nChar, nRepCnt, nFlags);
  85 +
  86 + GetWindowText(sAfter);
  87 + bool result = true;
  88 + switch (check_type_)
73 { 89 {
74 - CString error;  
75 - do  
76 - {  
77 - CString num;  
78 - GetWindowText(num);  
79 - if (!CheckCardNum(num))  
80 - {  
81 - error = L"卡号错误!";  
82 - break;  
83 - }  
84 - CString name;  
85 - bool result = GetCardName(num, name);  
86 - if (result)  
87 - {  
88 - ((PlaceOrderDlg*)GetParent())->name_edit_.SetWindowText(name);  
89 - }  
90 - else  
91 - {  
92 - error = name;  
93 - }  
94 - } while (0);  
95 -  
96 - if (!error.IsEmpty()) 90 + case CardNumType:
  91 + {
  92 + result = CheckCardNum(sAfter);
  93 + break;
  94 + }
  95 + case CommNumType:
  96 + {
  97 + result = CheckCommNum(sAfter);
  98 + break;
  99 + }
  100 + case UnitType:
  101 + {
  102 + result = CheckUnitNum(sAfter);
  103 + break;
  104 + }
  105 + case HeavyType:
  106 + {
  107 + result = CheckHeavy(sAfter);
  108 + break;
  109 + }
  110 + case PriceType:
  111 + {
  112 + result = CheckPrice(sAfter);
  113 + break;
  114 + }
  115 + case CountType:
  116 + {
  117 + result = CheckCount(sAfter);
  118 + break;
  119 + }
  120 + }
  121 +
  122 + if (!result)
  123 + {
  124 + SetWindowText(sBefore);
  125 + SetSel(nPosCurbgn, nPosCurend, true);
  126 + }
  127 +}
  128 +
  129 +bool CEditBox::CheckCardNum(CString num)
  130 +{
  131 + bool result = true;
  132 +
  133 + do
  134 + {
  135 + if (num.GetLength() > 12)
97 { 136 {
98 - SetEditRed(true); 137 + result = false;
  138 + break;
99 } 139 }
100 - else 140 +
  141 + if (num.SpanIncluding(L"0123456789") != num)
101 { 142 {
102 - SetEditRed(false); 143 + result = false;
  144 + break;
103 } 145 }
  146 + } while (0);
104 147
105 - ((PlaceOrderDlg*)GetParent())->error_static_.SetWindowText(error);  
106 - UpdateWindow(); 148 + return result;
  149 +}
107 150
108 - break;  
109 - }  
110 - case IDC_EDIT_COMM_NUM: 151 +bool CEditBox::CheckCommNum(CString num)
  152 +{
  153 + bool result = true;
  154 +
  155 + do
111 { 156 {
  157 + if (num.GetLength() > 3)
  158 + {
  159 + result = false;
  160 + break;
  161 + }
112 162
113 - break;  
114 - } 163 + if (num.SpanIncluding(L"0123456789") != num)
  164 + {
  165 + result = false;
  166 + break;
  167 + }
  168 + } while (0);
  169 +
  170 + return result;
  171 +}
  172 +
  173 +bool CEditBox::CheckUnitNum(CString num)
  174 +{
  175 + bool result = true;
  176 +
  177 + if (num.Compare(L"1") != 0 && num.Compare(L"2") != 0)
  178 + {
  179 + result = false;
115 } 180 }
  181 +
  182 + return result;
116 } 183 }
117 184
118 -bool CEditBox::CheckCardNum(CString &num) 185 +bool CEditBox::CheckHeavy(CString heavy)
119 { 186 {
120 bool result = true; 187 bool result = true;
121 188
122 do 189 do
123 { 190 {
124 - if (num.GetLength() != 12) 191 + int length = heavy.GetLength();
  192 + if (length > 8)
125 { 193 {
126 result = false; 194 result = false;
127 break; 195 break;
128 } 196 }
129 197
130 - if (num.SpanIncluding(L"0123456789") != num) 198 + if (heavy.SpanIncluding(L"0123456789.") != heavy)
  199 + {
  200 + result = false;
  201 + break;
  202 + }
  203 +
  204 + double num = _ttof(heavy);
  205 + if (num > 100000)
  206 + {
  207 + result = false;
  208 + break;
  209 + }
  210 +
  211 + //如果精度超过设置的精度则返回
  212 + int dec_pos = heavy.Find(L".");
  213 + if (dec_pos != CB_ERR && length - dec_pos - 1 > 1)
131 { 214 {
132 result = false; 215 result = false;
133 break; 216 break;
134 } 217 }
  218 + //小数点不在首位
  219 + if (length > 0 && heavy.Left(1) == ".")
  220 + {
  221 + result = false;
  222 + break;
  223 + }
  224 + //只有一个小数点
  225 + if (heavy.Replace(L".", L".") > 1)
  226 + {
  227 + result = false;
  228 + break;
  229 + }
  230 +
135 } while (0); 231 } while (0);
  232 +
  233 + return result;
  234 +}
  235 +
  236 +bool CEditBox::CheckPrice(CString price)
  237 +{
  238 + bool result = true;
136 239
  240 + do
  241 + {
  242 + int length = price.GetLength();
  243 + if (length > 8)
  244 + {
  245 + result = false;
  246 + break;
  247 + }
  248 +
  249 + if (price.SpanIncluding(L"0123456789.") != price)
  250 + {
  251 + result = false;
  252 + break;
  253 + }
  254 +
  255 + double num = _ttof(price);
  256 + if (num > 50000)
  257 + {
  258 + result = false;
  259 + break;
  260 + }
  261 +
  262 + //如果精度超过设置的精度则返回
  263 + int dec_pos = price.Find(L".");
  264 + if (dec_pos != CB_ERR && length - dec_pos - 1 > 2)
  265 + {
  266 + result = false;
  267 + break;
  268 + }
  269 + //小数点不在首位
  270 + if (length > 0 && price.Left(1) == ".")
  271 + {
  272 + result = false;
  273 + break;
  274 + }
  275 + //只有一个小数点
  276 + if (price.Replace(L".", L".") > 1)
  277 + {
  278 + result = false;
  279 + break;
  280 + }
  281 +
  282 + } while (0);
  283 +
137 return result; 284 return result;
138 } 285 }
139 286
140 -bool CEditBox::GetCardName(CString &num, CString &name) 287 +bool CEditBox::CheckCount(CString count)
141 { 288 {
142 bool result = true; 289 bool result = true;
143 290
  291 + do
  292 + {
  293 + int length = count.GetLength();
  294 + if (length > 8)
  295 + {
  296 + result = false;
  297 + break;
  298 + }
  299 +
  300 + if (count.SpanIncluding(L"0123456789.") != count)
  301 + {
  302 + result = false;
  303 + break;
  304 + }
  305 +
  306 + double num = _ttof(count);
  307 + if (num > 100000)
  308 + {
  309 + result = false;
  310 + break;
  311 + }
  312 +
  313 + //如果精度超过设置的精度则返回
  314 + int dec_pos = count.Find(L".");
  315 + if (dec_pos != CB_ERR && length - dec_pos - 1 > 1)
  316 + {
  317 + result = false;
  318 + break;
  319 + }
  320 + //小数点不在首位
  321 + if (length > 0 && count.Left(1) == ".")
  322 + {
  323 + result = false;
  324 + break;
  325 + }
  326 + //只有一个小数点,这里有个坑,必须用L".",不能用'.',否则始终返回0
  327 + if (count.Replace(L".", L".") > 1)
  328 + {
  329 + result = false;
  330 + break;
  331 + }
144 332
  333 + } while (0);
145 334
146 return result; 335 return result;
147 } 336 }
148 337
149 -void CEditBox::SetEditRed(bool is_red) 338 +bool CEditBox::IsEditRed()
150 { 339 {
151 - is_edit_red_ = is_red; 340 + return is_edit_red_;
152 } 341 }
153 \ No newline at end of file 342 \ No newline at end of file
central_clearing_system/ETradeClient/mfc_ui/etrade_edit_control.h
1 #ifndef __my_edit_control_h__ 1 #ifndef __my_edit_control_h__
2 #define __my_edit_control_h__ 2 #define __my_edit_control_h__
3 3
  4 +enum CheckType
  5 +{
  6 + CardNumType = 0,
  7 + CommNumType,
  8 + UnitType,
  9 + HeavyType,
  10 + PriceType,
  11 + CountType,
  12 + DoNotCheck
  13 +};
  14 +
4 class CEditBox : public CEdit 15 class CEditBox : public CEdit
5 { 16 {
6 - DECLARE_DYNAMIC( CEditBox ) 17 + DECLARE_DYNAMIC(CEditBox)
7 18
8 public: 19 public:
9 CEditBox(); 20 CEditBox();
10 ~CEditBox(); 21 ~CEditBox();
11 22
12 private: 23 private:
13 - COLORREF m_clrBackground;  
14 COLORREF m_clrFrame; 24 COLORREF m_clrFrame;
15 - COLORREF m_clrText;  
16 - COLORREF m_clrDisabledBackground;  
17 - COLORREF m_clrDisabledBack;  
18 - COLORREF m_clrDisabledText;  
19 -  
20 - CBrush m_brushBk;  
21 -  
22 -public:  
23 - void SetBackgroundColor( COLORREF clr ) { m_clrBackground = clr; }  
24 - void SetFrameColor( COLORREF clr ) { m_clrFrame = clr; }  
25 - void SetTextColor( COLORREF clr ) { m_clrText = clr; }  
26 - void SetDisabledColor( COLORREF clrBack, COLORREF clrText ) {  
27 - m_clrDisabledBack = clrBack;  
28 - m_clrDisabledText = clrText;  
29 - }  
30 -  
31 - COLORREF GetBackgroundColor() const { return m_clrBackground; }  
32 - COLORREF GetFrameColor() const { return m_clrFrame; }  
33 - COLORREF GetTextColor() const { return m_clrText; }  
34 - COLORREF GetDisabledColor( COLORREF& clrBack, COLORREF& clrText ) const {  
35 - clrBack = m_clrDisabledBack;  
36 - clrText = m_clrDisabledText;  
37 - }  
38 25
39 protected: 26 protected:
40 - afx_msg HBRUSH CtlColor( CDC *pDC, UINT nCtlColor );  
41 afx_msg void OnNcPaint(); 27 afx_msg void OnNcPaint();
42 28
43 DECLARE_MESSAGE_MAP() 29 DECLARE_MESSAGE_MAP()
44 public: 30 public:
45 afx_msg void OnKillFocus(CWnd* pNewWnd); 31 afx_msg void OnKillFocus(CWnd* pNewWnd);
46 -  
47 -private:  
48 - bool CheckCardNum(CString &num);  
49 - bool GetCardName(CString &num, CString &name);  
50 -  
51 public: 32 public:
52 void SetEditRed(bool is_red); 33 void SetEditRed(bool is_red);
  34 + bool IsEditRed();
53 35
54 bool is_edit_red_; 36 bool is_edit_red_;
  37 + afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  38 +
  39 + void SetCheck(CheckType type);
  40 +
  41 + CheckType check_type_;
  42 +
  43 + bool CheckCardNum(CString num);
  44 + bool CheckCommNum(CString num);
  45 + bool CheckUnitNum(CString num);
  46 + bool CheckHeavy(CString heavy);
  47 + bool CheckPrice(CString price);
  48 + bool CheckCount(CString count);
55 }; 49 };
56 50
57 #endif // __my_edit_control_h__ 51 #endif // __my_edit_control_h__
central_clearing_system/ETradeClient/mfc_ui/place_order_dlg.cpp
@@ -5,6 +5,13 @@ @@ -5,6 +5,13 @@
5 #include "ETradeClient.h" 5 #include "ETradeClient.h"
6 #include "place_order_dlg.h" 6 #include "place_order_dlg.h"
7 #include "afxdialogex.h" 7 #include "afxdialogex.h"
  8 +#include "ETradeClient/utility/win_msg_define.h"
  9 +#include "ETradeClient/utility/logging.h"
  10 +#include "etradeclient/utility/url_config.h"
  11 +#include "etradeclient/utility/application_config.h"
  12 +#include "etradeclient/browser/session.h"
  13 +#include "ETradeClient/utility/string_converter.h"
  14 +#include "ETradeClient/utility/win_msg_define.h"
8 15
9 16
10 // PlaceOrderDlg 对话框 17 // PlaceOrderDlg 对话框
@@ -16,6 +23,15 @@ PlaceOrderDlg::PlaceOrderDlg(CWnd* pParent /*=NULL*/) @@ -16,6 +23,15 @@ PlaceOrderDlg::PlaceOrderDlg(CWnd* pParent /*=NULL*/)
16 { 23 {
17 line_pen_.CreatePen(PS_SOLID, 1, RGB(0, 0, 0)); 24 line_pen_.CreatePen(PS_SOLID, 1, RGB(0, 0, 0));
18 edit_brush_.CreateSolidBrush(RGB(245, 247, 250)); 25 edit_brush_.CreateSolidBrush(RGB(245, 247, 250));
  26 + /*error_count_ = 6;
  27 + card_num_ = ErrorCode;
  28 + card_name_ = ErrorCode;
  29 + comm_num_ = ErrorCode;
  30 + comm_name_ = ErrorCode;
  31 + unit_ = ErrorCode;
  32 + heavy_ = ErrorCode;
  33 + price_ = ErrorCode;
  34 + count_ = ErrorCode;*/
19 } 35 }
20 36
21 PlaceOrderDlg::~PlaceOrderDlg() 37 PlaceOrderDlg::~PlaceOrderDlg()
@@ -55,7 +71,11 @@ BEGIN_MESSAGE_MAP(PlaceOrderDlg, CDialogEx) @@ -55,7 +71,11 @@ BEGIN_MESSAGE_MAP(PlaceOrderDlg, CDialogEx)
55 ON_WM_CTLCOLOR() 71 ON_WM_CTLCOLOR()
56 ON_BN_CLICKED(IDC_BUTTON_PAY, &PlaceOrderDlg::OnBnClickedButtonPay) 72 ON_BN_CLICKED(IDC_BUTTON_PAY, &PlaceOrderDlg::OnBnClickedButtonPay)
57 ON_COMMAND(ID_ACCELERATOR_TAB, &PlaceOrderDlg::OnAcceleratorTab) 73 ON_COMMAND(ID_ACCELERATOR_TAB, &PlaceOrderDlg::OnAcceleratorTab)
58 - ON_WM_KILLFOCUS() 74 + ON_COMMAND(ID_ACCELERATOR_ENTER, &PlaceOrderDlg::OnAcceleratorEnter)
  75 + ON_MESSAGE(WM_ORDER_KILL_FOCUS, &PlaceOrderDlg::OnEditKillFocus)
  76 + ON_COMMAND(ID_ACCELERATOR_DOWN, &PlaceOrderDlg::OnAcceleratorDown)
  77 + ON_COMMAND(ID_ACCELERATOR_UP, &PlaceOrderDlg::OnAcceleratorUp)
  78 + ON_WM_SETFOCUS()
59 END_MESSAGE_MAP() 79 END_MESSAGE_MAP()
60 80
61 81
@@ -68,11 +88,12 @@ BOOL PlaceOrderDlg::OnInitDialog() @@ -68,11 +88,12 @@ BOOL PlaceOrderDlg::OnInitDialog()
68 88
69 //设置窗口样式 89 //设置窗口样式
70 SetCtrlPos(); 90 SetCtrlPos();
  91 + SetCtrlInitData();
71 InitList(); 92 InitList();
72 93
73 acce_ = LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_ACCELERATOR_ORDER)); 94 acce_ = LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_ACCELERATOR_ORDER));
74 95
75 - return TRUE; // return TRUE unless you set the focus to a control 96 + return FALSE; // return TRUE unless you set the focus to a control
76 // 异常: OCX 属性页应返回 FALSE 97 // 异常: OCX 属性页应返回 FALSE
77 } 98 }
78 99
@@ -192,10 +213,15 @@ void PlaceOrderDlg::SetCtrlPos() @@ -192,10 +213,15 @@ void PlaceOrderDlg::SetCtrlPos()
192 ctrl_rect.right += EditWidth; 213 ctrl_rect.right += EditWidth;
193 count_edit_.MoveWindow(&ctrl_rect); 214 count_edit_.MoveWindow(&ctrl_rect);
194 215
195 - const int TotalMoneyStaticWidth = 80, TotalMoneyStaticHeight = 35;  
196 -  
197 CRect dlg_rect; 216 CRect dlg_rect;
198 GetClientRect(&dlg_rect); 217 GetClientRect(&dlg_rect);
  218 + ctrl_rect.top += 10;
  219 + ctrl_rect.left = ctrl_rect.right + 30;
  220 + ctrl_rect.right = dlg_rect.right;
  221 + error_static_.MoveWindow(&ctrl_rect);
  222 +
  223 + const int TotalMoneyStaticWidth = 80, TotalMoneyStaticHeight = 35;
  224 +
199 ctrl_rect.top = ctrl_rect.bottom + 20; 225 ctrl_rect.top = ctrl_rect.bottom + 20;
200 ctrl_rect.bottom = dlg_rect.bottom - TotalMoneyStaticHeight; 226 ctrl_rect.bottom = dlg_rect.bottom - TotalMoneyStaticHeight;
201 ctrl_rect.left = 0; 227 ctrl_rect.left = 0;
@@ -277,17 +303,12 @@ HBRUSH PlaceOrderDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) @@ -277,17 +303,12 @@ HBRUSH PlaceOrderDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
277 { 303 {
278 HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); 304 HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
279 305
280 - switch (pWnd->GetDlgCtrlID())  
281 - {  
282 - case IDC_EDIT_CARD:  
283 - case IDC_EDIT_COMM_NAME: 306 + if (nCtlColor == CTLCOLOR_STATIC)
284 { 307 {
285 - pDC->SetBkColor(RGB(245, 247, 250));  
286 - HBRUSH edit_bgc = ::CreateSolidBrush(RGB(245, 247, 250));  
287 - return edit_bgc;  
288 - }  
289 - default:  
290 - break; 308 + if (IDC_STATIC_ERROR == pWnd->GetDlgCtrlID())
  309 + {
  310 + pDC->SetTextColor(RGB(200, 0, 0));
  311 + }
291 } 312 }
292 313
293 return hbr; 314 return hbr;
@@ -296,12 +317,11 @@ HBRUSH PlaceOrderDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) @@ -296,12 +317,11 @@ HBRUSH PlaceOrderDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
296 317
297 void PlaceOrderDlg::OnBnClickedButtonPay() 318 void PlaceOrderDlg::OnBnClickedButtonPay()
298 { 319 {
299 - 320 + SetErrorMsg(CString(L"anniuanniu"));
300 } 321 }
301 322
302 void PlaceOrderDlg::InitList() 323 void PlaceOrderDlg::InitList()
303 { 324 {
304 - product_list_.AutoSize(GVS_HEADER);  
305 product_list_.InsertColumn(L"货主卡号"); 325 product_list_.InsertColumn(L"货主卡号");
306 product_list_.InsertColumn(L"货主姓名"); 326 product_list_.InsertColumn(L"货主姓名");
307 product_list_.InsertColumn(L"商品名称"); 327 product_list_.InsertColumn(L"商品名称");
@@ -332,91 +352,341 @@ void PlaceOrderDlg::InitList() @@ -332,91 +352,341 @@ void PlaceOrderDlg::InitList()
332 352
333 product_list_.SetFixedColumnCount(1); 353 product_list_.SetFixedColumnCount(1);
334 product_list_.SetFixedColumnCount(2); 354 product_list_.SetFixedColumnCount(2);
335 -  
336 355
337 - //product_list_.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(0xFF, 0xFF, 0xE0)); 356 + product_list_.SetRowResize(FALSE);
  357 + product_list_.SetColumnResize(FALSE);
338 358
339 - /*product_list_.EnableDragAndDrop(TRUE); 359 + product_list_.SetTrackFocusCell(FALSE);
  360 +}
340 361
341 362
  363 +BOOL PlaceOrderDlg::PreTranslateMessage(MSG* pMsg)
  364 +{
  365 + if (WM_KEYFIRST <= pMsg->message&&pMsg->message <= WM_KEYLAST)
  366 + {
  367 + if (acce_ && ::TranslateAccelerator(m_hWnd, acce_, pMsg))
  368 + return TRUE;
  369 + }
  370 + return CDialogEx::PreTranslateMessage(pMsg);
  371 +}
342 372
343 373
344 - product_list_.SetFixedColumnSelection(TRUE);  
345 - product_list_.SetFixedRowSelection(TRUE);  
346 - product_list_.EnableColumnHide(); 374 +void PlaceOrderDlg::OnAcceleratorTab()
  375 +{
  376 +
  377 +}
  378 +void PlaceOrderDlg::OnAcceleratorEnter()
  379 +{
  380 + OnEditKillFocus(GetFocus()->GetDlgCtrlID(), NULL);
347 381
  382 + do
  383 + {
  384 + if (card_edit_.IsEditRed() || comm_num_edit_.IsEditRed() ||
  385 + unit_edit_.IsEditRed() || (heavy_edit_.IsWindowEnabled() && heavy_edit_.IsEditRed()) ||
  386 + price_edit_.IsEditRed() || count_edit_.IsEditRed())
  387 + {
  388 + break;
  389 + }
  390 +
  391 + int row_index = product_list_.InsertRow(L"", -1);
  392 + product_list_.Invalidate();
  393 + CString text;
  394 + double price = 0, count = 0;
  395 + card_edit_.GetWindowText(text);
  396 + product_list_.SetItemText(row_index, 0, text);
  397 + text.Empty();
  398 + name_edit_.GetWindowText(text);
  399 + product_list_.SetItemText(row_index, 1, text);
  400 + text.Empty();
  401 + comm_name_edit_.GetWindowText(text);
  402 + product_list_.SetItemText(row_index, 2, text);
  403 + text.Empty();
  404 + price_edit_.GetWindowText(text);
  405 + price = _ttof(text);
  406 + product_list_.SetItemText(row_index, 3, text);
  407 + text.Empty();
  408 + count_edit_.GetWindowText(text);
  409 + count = _ttof(text);
  410 + product_list_.SetItemText(row_index, 4, text);
  411 + text.Empty();
  412 + real_unit_static.GetWindowText(text);
  413 + product_list_.SetItemText(row_index, 5, text);
  414 + text.Empty();
  415 + heavy_edit_.GetWindowText(text);
  416 + product_list_.SetItemText(row_index, 6, text);
  417 + text.Empty();
  418 + text.Format(_T("%.1f"), price * count);
  419 + product_list_.SetItemText(row_index, 7, text);
  420 +
  421 + for (int index = 0; index < 8; ++index)
  422 + {
  423 + product_list_.SetItemFormat(row_index, index, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
  424 + }
  425 +
  426 + product_list_.
  427 +
  428 + } while (0);
  429 +
  430 + UpdateWindow();
  431 +}
348 432
349 433
350 - product_list_.SetCompareFunction(CGridCtrl::pfnCellNumericCompare);*/ 434 +void PlaceOrderDlg::SetCtrlInitData()
  435 +{
  436 + card_edit_.SetWindowTextW(L"8888");
  437 +
  438 + card_edit_.SetCheck(CardNumType);
  439 + comm_num_edit_.SetCheck(CommNumType);
  440 + unit_edit_.SetCheck(UnitType);
  441 + heavy_edit_.SetCheck(HeavyType);
  442 + price_edit_.SetCheck(PriceType);
  443 + count_edit_.SetCheck(CountType);
  444 +
  445 + card_edit_.SetFocus();
  446 + card_edit_.SetSel(4, 4);
  447 + heavy_edit_.EnableWindow(FALSE);
351 } 448 }
352 449
  450 +void PlaceOrderDlg::SetErrorMsg(CString &error)
  451 +{
  452 + error_static_.SetWindowTextW(error);
  453 +}
353 454
354 -BOOL PlaceOrderDlg::PreTranslateMessage(MSG* pMsg) 455 +LRESULT PlaceOrderDlg::OnEditKillFocus(WPARAM wParam, LPARAM lParam)
355 { 456 {
356 - if (WM_KEYFIRST <= pMsg->message&&pMsg->message <= WM_KEYLAST) 457 + int dlg_id = wParam;
  458 +
  459 + CString text;
  460 + GetDlgItem(dlg_id)->GetWindowText(text);
  461 +
  462 + switch (dlg_id)
357 { 463 {
358 - if (acce_ && ::TranslateAccelerator(m_hWnd, acce_, pMsg))  
359 - return TRUE; 464 + case IDC_EDIT_CARD:
  465 + {
  466 + CString name;
  467 + if (text.GetLength() < 12)
  468 + {
  469 + card_edit_.SetEditRed(true);
  470 + break;
  471 + }
  472 +
  473 + bool result = GetCardName(text, name);
  474 + if (result)
  475 + {
  476 + name_edit_.SetWindowText(name);
  477 + card_edit_.SetEditRed(false);
  478 + }
  479 + else
  480 + {
  481 + SetErrorMsg(name);
  482 + card_edit_.SetEditRed(true);
  483 + }
  484 +
  485 + break;
360 } 486 }
361 - if (card_edit_) 487 + case IDC_EDIT_COMM_NUM:
362 { 488 {
  489 + CString name;
  490 + if (text.GetLength() < 3)
  491 + {
  492 + comm_num_edit_.SetEditRed(true);
  493 + break;
  494 + }
  495 +
  496 + bool result = GetCardName(text, name);
  497 + if (result)
  498 + {
  499 + name_edit_.SetWindowText(name);
  500 + comm_num_edit_.SetEditRed(false);
  501 + }
  502 + else
  503 + {
  504 + SetErrorMsg(name);
  505 + comm_num_edit_.SetEditRed(true);
  506 + }
  507 +
  508 + break;
363 } 509 }
364 - return CDialogEx::PreTranslateMessage(pMsg); 510 + case IDC_EDIT_UNIT:
  511 + {
  512 + if (text.Compare(L"1") == 0)
  513 + {
  514 + real_unit_static.SetWindowTextW(L"斤");
  515 + heavy_edit_.SetEditRed(false);
  516 + heavy_edit_.SetWindowText(L"");
  517 + heavy_edit_.EnableWindow(FALSE);
  518 + unit_edit_.SetEditRed(false);
  519 + }
  520 + else if (text.Compare(L"2") == 0)
  521 + {
  522 + real_unit_static.SetWindowTextW(L"件");
  523 + heavy_edit_.EnableWindow(TRUE);
  524 + unit_edit_.SetEditRed(false);
  525 + }
  526 + else
  527 + {
  528 + unit_edit_.SetEditRed(true);
  529 + }
  530 + break;
  531 + }
  532 + case IDC_EDIT_HEAVY:
  533 + case IDC_EDIT_PRICE:
  534 + case IDC_EDIT_COUNT:
  535 + {
  536 + if (text.IsEmpty())
  537 + {
  538 + ((CEditBox*)GetDlgItem(dlg_id))->SetEditRed(true);
  539 + }
  540 + else if (text.Right(1).Compare(L".") == 0)
  541 + {
  542 + ((CEditBox*)GetDlgItem(dlg_id))->SetEditRed(true);
  543 + }
  544 + else
  545 + {
  546 + ((CEditBox*)GetDlgItem(dlg_id))->SetEditRed(false);
  547 + }
  548 +
  549 + break;
  550 + }
  551 + }
  552 +
  553 + UpdateWindow();
  554 +
  555 + return S_OK;
365 } 556 }
366 557
367 558
368 -void PlaceOrderDlg::OnAcceleratorTab() 559 +bool PlaceOrderDlg::GetCardName(CString &num, CString &name)
369 { 560 {
370 - /*CWnd *wnd = GetFocus(); 561 + //for test
  562 + return true;
  563 + //
371 564
372 - int ctrl_id = wnd->GetDlgCtrlID();  
373 565
374 - switch (ctrl_id)  
375 - {  
376 - case IDC_EDIT_CARD: 566 + bool result = true;
  567 +
  568 + CString sLog;
  569 +
  570 + LOG_TRACE(_T("获取开卡人姓名!"));
  571 +
  572 + const uint32_t kHTTPOK = 200;
  573 + WinHttp win_http;
  574 + auto& url_cfg = URLConfig::Instance();
  575 + win_http.ConnectHost(url_cfg.Host(), url_cfg.Port(), url_cfg.IsHttps());
  576 + auto& request = win_http.OpenRequest(WinHttp::Method::GET, url_cfg.GetCardNamePath());
  577 + if (url_cfg.IsHttps())
377 { 578 {
378 - CString name;  
379 - if (GetUserName(name)) 579 + auto& app_cfg = ApplicationConfig::Instance();
  580 + request.SetClientCertificate(app_cfg.ClientCertStore(), app_cfg.ClientCertSubject());
  581 + }
  582 + request.SetCookies(Session::Instance().Cookies());
  583 + request.Send();
  584 + uint32_t status_code = request.GetResponseStatus();
  585 + if (kHTTPOK != status_code)
380 { 586 {
381 - name_edit_.SetWindowTextW(name);  
382 - comm_num_edit_.SetFocus(); 587 + std::string err_msg = "网络请求错误! 错误码: " + std::to_string(status_code);
  588 + LOG_ERROR(str_2_wstr(err_msg.c_str()));
383 } 589 }
384 - else 590 + std::string response_body = request.ReadResponseBody();
  591 + if (response_body.empty())
385 { 592 {
386 - name_edit_.SetFocus(); 593 + LOG_ERROR(L"获取服务器响应数据失败,请确保网络连接正常!");
387 } 594 }
388 - break; 595 +
  596 + return result;
  597 +}
  598 +
  599 +bool PlaceOrderDlg::GetCommName(CString &num, CString &name)
  600 +{
  601 + return true;
  602 +}
  603 +
  604 +void PlaceOrderDlg::OnAcceleratorDown()
  605 +{
  606 + int item_id = GetFocus()->GetDlgCtrlID();
  607 +
  608 + switch (item_id)
  609 + {
  610 + case IDC_EDIT_CARD:
  611 + {
  612 + comm_num_edit_.SetFocus();
  613 + break;
389 } 614 }
390 case IDC_EDIT_COMM_NUM: 615 case IDC_EDIT_COMM_NUM:
391 { 616 {
392 - CString name;  
393 - if (GetCommName(name)) 617 + unit_edit_.SetFocus();
  618 + break;
  619 + }
  620 + case IDC_EDIT_UNIT:
394 { 621 {
395 - comm_name_edit_.SetWindowTextW(name);  
396 - comm_num_edit_.SetFocus(); 622 + CString unit;
  623 + unit_edit_.GetWindowText(unit);
  624 + if (unit.IsEmpty())
  625 + {
  626 + heavy_edit_.IsWindowEnabled() ? heavy_edit_.SetFocus() : price_edit_.SetFocus();
  627 + }
  628 + else if (unit.Compare(L"1") == 0)
  629 + {
  630 + price_edit_.SetFocus();
  631 + }
  632 + else
  633 + {
  634 + heavy_edit_.EnableWindow(TRUE);
  635 + heavy_edit_.SetFocus();
  636 + }
  637 + break;
397 } 638 }
398 - else 639 + case IDC_EDIT_HEAVY:
399 { 640 {
400 - name_edit_.SetFocus(); 641 + price_edit_.SetFocus();
  642 + break;
401 } 643 }
402 - break; 644 + case IDC_EDIT_PRICE:
  645 + {
  646 + count_edit_.SetFocus();
  647 + break;
403 } 648 }
404 } 649 }
  650 +}
405 651
406 - if ( == card_edit_.GetDlgCtrlID())  
407 - { 652 +void PlaceOrderDlg::OnAcceleratorUp()
  653 +{
  654 + int item_id = GetFocus()->GetDlgCtrlID();
408 655
  656 + switch (item_id)
  657 + {
  658 + case IDC_EDIT_COUNT:
  659 + {
  660 + price_edit_.SetFocus();
  661 + break;
  662 + }
  663 + case IDC_EDIT_PRICE:
  664 + {
  665 + heavy_edit_.IsWindowEnabled() ? heavy_edit_.SetFocus() : unit_edit_.SetFocus();
  666 + break;
  667 + }
  668 + case IDC_EDIT_HEAVY:
  669 + {
  670 + unit_edit_.SetFocus();
  671 + break;
409 } 672 }
410 - else  
411 - if () 673 + case IDC_EDIT_UNIT:
412 { 674 {
413 - }*/ 675 + comm_num_edit_.SetFocus();
  676 + break;
  677 + }
  678 + case IDC_EDIT_COMM_NUM:
  679 + {
  680 + card_edit_.SetFocus();
  681 + break;
  682 + }
  683 + }
414 } 684 }
415 685
416 -  
417 -void PlaceOrderDlg::OnKillFocus(CWnd* pNewWnd) 686 +void PlaceOrderDlg::OnSetFocus(CWnd* pOldWnd)
418 { 687 {
419 - CDialogEx::OnKillFocus(pNewWnd); 688 + CDialogEx::OnSetFocus(pOldWnd);
420 689
421 // TODO: 在此处添加消息处理程序代码 690 // TODO: 在此处添加消息处理程序代码
422 } 691 }
  692 +
central_clearing_system/ETradeClient/mfc_ui/place_order_dlg.h
@@ -37,23 +37,24 @@ protected: @@ -37,23 +37,24 @@ protected:
37 37
38 private: 38 private:
39 void SetCtrlPos(); 39 void SetCtrlPos();
  40 + void SetCtrlInitData();
40 void InitList(); 41 void InitList();
41 public: 42 public:
42 CStatic owner_static_; 43 CStatic owner_static_;
43 CEditBox card_edit_; 44 CEditBox card_edit_;
44 CEdit name_edit_; 45 CEdit name_edit_;
45 CStatic comm_static_; 46 CStatic comm_static_;
46 - CEdit comm_num_edit_; 47 + CEditBox comm_num_edit_;
47 CEdit comm_name_edit_; 48 CEdit comm_name_edit_;
48 CStatic unit_static_; 49 CStatic unit_static_;
49 - CEdit unit_edit_; 50 + CEditBox unit_edit_;
50 CStatic real_unit_static; 51 CStatic real_unit_static;
51 CStatic heavy_static_; 52 CStatic heavy_static_;
52 - CEdit heavy_edit_; 53 + CEditBox heavy_edit_;
53 CStatic price_static_; 54 CStatic price_static_;
54 - CEdit price_edit_; 55 + CEditBox price_edit_;
55 CStatic count_static_; 56 CStatic count_static_;
56 - CEdit count_edit_; 57 + CEditBox count_edit_;
57 CButton pay_button_; 58 CButton pay_button_;
58 CGridCtrl product_list_; 59 CGridCtrl product_list_;
59 60
@@ -74,7 +75,34 @@ private: @@ -74,7 +75,34 @@ private:
74 public: 75 public:
75 virtual BOOL PreTranslateMessage(MSG* pMsg); 76 virtual BOOL PreTranslateMessage(MSG* pMsg);
76 afx_msg void OnAcceleratorTab(); 77 afx_msg void OnAcceleratorTab();
77 - afx_msg void OnKillFocus(CWnd* pNewWnd); 78 + afx_msg void OnAcceleratorEnter();
78 79
  80 + void SetErrorMsg(CString &error);
79 CStatic error_static_; 81 CStatic error_static_;
  82 +
  83 + afx_msg LRESULT OnEditKillFocus(WPARAM wParam, LPARAM lParam);
  84 +
  85 + bool GetCardName(CString &num, CString &name);
  86 + bool GetCommName(CString &num, CString &name);
  87 +
  88 + afx_msg void OnAcceleratorDown();
  89 + afx_msg void OnAcceleratorUp();
  90 + afx_msg void OnSetFocus(CWnd* pOldWnd);
  91 +
  92 + //bool CheckCardData(CString card_data);
  93 + //bool CheckCommData(CString comm_data);
  94 + //bool CheckUnitData(CString unit_data);
  95 + //bool CheckPriceData(CString price_data);
  96 + //bool CheckCountData(CString count_data);
  97 +
  98 + //CString card_num_;
  99 + //CString card_name_;
  100 + //CString comm_num_;
  101 + //CString comm_name_;
  102 + //CString unit_;
  103 + //CString heavy_;
  104 + //CString price_;
  105 + //CString count_;
  106 + //int error_count_;
  107 + //const CString ErrorCode = L"-9000";
80 }; 108 };
central_clearing_system/ETradeClient/utility/url_config.cpp
@@ -61,6 +61,8 @@ URLConfig::URLConfig() @@ -61,6 +61,8 @@ URLConfig::URLConfig()
61 m_user_msg_count_path = ptree.get<std::string>("user_msg_count_path"); 61 m_user_msg_count_path = ptree.get<std::string>("user_msg_count_path");
62 m_user_msg_path = ptree.get<std::string>("user_msg_path"); 62 m_user_msg_path = ptree.get<std::string>("user_msg_path");
63 m_modify_pwd_path = ptree.get<std::string>("modify_pwd_path"); 63 m_modify_pwd_path = ptree.get<std::string>("modify_pwd_path");
  64 + m_get_card_name_path = ptree.get<std::string>("get_card_name");
  65 +
64 } 66 }
65 catch (...) // Catch the exception in order for logging. 67 catch (...) // Catch the exception in order for logging.
66 { 68 {
@@ -91,6 +93,7 @@ void URLConfig::ModifyCfg(bool is_https, uint16_t port) @@ -91,6 +93,7 @@ void URLConfig::ModifyCfg(bool is_https, uint16_t port)
91 root.put("user_msg_count_path", m_user_msg_count_path); 93 root.put("user_msg_count_path", m_user_msg_count_path);
92 root.put("user_msg_path", m_user_msg_path); 94 root.put("user_msg_path", m_user_msg_path);
93 root.put("modify_pwd_path", m_modify_pwd_path); 95 root.put("modify_pwd_path", m_modify_pwd_path);
  96 + root.put("get_card_name_path", m_get_card_name_path);
94 PT::write_json(ss, root, true); 97 PT::write_json(ss, root, true);
95 } 98 }
96 catch (...) // Catch the exception in order for logging. 99 catch (...) // Catch the exception in order for logging.
@@ -166,4 +169,8 @@ std::string URLConfig::UserMsgPath() const @@ -166,4 +169,8 @@ std::string URLConfig::UserMsgPath() const
166 std::string URLConfig::PwdModificationPath() const 169 std::string URLConfig::PwdModificationPath() const
167 { 170 {
168 return m_modify_pwd_path; 171 return m_modify_pwd_path;
  172 +}
  173 +std::string URLConfig::GetCardNamePath() const
  174 +{
  175 + return m_get_card_name_path;
169 } 176 }
170 \ No newline at end of file 177 \ No newline at end of file
central_clearing_system/ETradeClient/utility/url_config.h
@@ -29,6 +29,7 @@ public: @@ -29,6 +29,7 @@ public:
29 std::string UserMsgCountPath() const; 29 std::string UserMsgCountPath() const;
30 std::string UserMsgPath() const; 30 std::string UserMsgPath() const;
31 std::string PwdModificationPath() const; 31 std::string PwdModificationPath() const;
  32 + std::string GetCardNamePath() const;
32 private: 33 private:
33 URLConfig(); 34 URLConfig();
34 URLConfig(const URLConfig&); 35 URLConfig(const URLConfig&);
@@ -45,5 +46,6 @@ private: @@ -45,5 +46,6 @@ private:
45 std::string m_user_msg_count_path; 46 std::string m_user_msg_count_path;
46 std::string m_user_msg_path; 47 std::string m_user_msg_path;
47 std::string m_modify_pwd_path; 48 std::string m_modify_pwd_path;
  49 + std::string m_get_card_name_path;
48 }; 50 };
49 #endif // ETRADECLIENT_UTILITY_URL_CONFIG_H_INCLUDED 51 #endif // ETRADECLIENT_UTILITY_URL_CONFIG_H_INCLUDED
central_clearing_system/ETradeClient/utility/win_msg_define.h
@@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
22 #define WM_CEF_MSG_VIEW_NEW_BROWSER (WM_USER + 116) 22 #define WM_CEF_MSG_VIEW_NEW_BROWSER (WM_USER + 116)
23 #define WM_CEF_MSG_VIEW_CLOSE_BROWSER (WM_USER + 117) 23 #define WM_CEF_MSG_VIEW_CLOSE_BROWSER (WM_USER + 117)
24 #define WM_CRASH_CLOSE (WM_USER + 118) 24 #define WM_CRASH_CLOSE (WM_USER + 118)
  25 +#define WM_ORDER_KILL_FOCUS (WM_USER + 119)
25 26
26 #define WM_CEF_JS_CAMMAND_CLOSE_WND (WM_USER + 301) 27 #define WM_CEF_JS_CAMMAND_CLOSE_WND (WM_USER + 301)
27 #define WM_CEF_JS_CAMMAND_USER_RELOGIN (WM_USER + 302) 28 #define WM_CEF_JS_CAMMAND_USER_RELOGIN (WM_USER + 302)
central_clearing_system/Resource.h
@@ -54,7 +54,7 @@ @@ -54,7 +54,7 @@
54 #define IDC_STATIC_COUNT 1040 54 #define IDC_STATIC_COUNT 1040
55 #define IDC_STATIC_HEJI 1042 55 #define IDC_STATIC_HEJI 1042
56 #define IDC_STATIC_TOTAL_MONEY 1043 56 #define IDC_STATIC_TOTAL_MONEY 1043
57 -#define IDC_STATIC_ERROR 1044 57 +#define IDC_STATIC_ERROR 1046
58 #define ID_PAY_FEE 10001 58 #define ID_PAY_FEE 10001
59 #define ID_ORDER 10002 59 #define ID_ORDER 10002
60 #define ID_STATEMENT_MANAGE 10003 60 #define ID_STATEMENT_MANAGE 10003
@@ -71,14 +71,18 @@ @@ -71,14 +71,18 @@
71 #define ID_32849 32849 71 #define ID_32849 32849
72 #define ID_POPMENU_DELETE 32850 72 #define ID_POPMENU_DELETE 32850
73 #define ID_ACCELERATOR_TAB 32851 73 #define ID_ACCELERATOR_TAB 32851
  74 +#define ID_ACCELERATOR_ENTER 32852
  75 +#define ID_ACCELERATOR_UP 32854
  76 +#define ID_ACCELERATOR_LEFT 32855
  77 +#define ID_ACCELERATOR_DOWN 32855
74 78
75 // Next default values for new objects 79 // Next default values for new objects
76 // 80 //
77 #ifdef APSTUDIO_INVOKED 81 #ifdef APSTUDIO_INVOKED
78 #ifndef APSTUDIO_READONLY_SYMBOLS 82 #ifndef APSTUDIO_READONLY_SYMBOLS
79 #define _APS_NEXT_RESOURCE_VALUE 331 83 #define _APS_NEXT_RESOURCE_VALUE 331
80 -#define _APS_NEXT_COMMAND_VALUE 32852  
81 -#define _APS_NEXT_CONTROL_VALUE 1045 84 +#define _APS_NEXT_COMMAND_VALUE 32857
  85 +#define _APS_NEXT_CONTROL_VALUE 1047
82 #define _APS_NEXT_SYMED_VALUE 311 86 #define _APS_NEXT_SYMED_VALUE 311
83 #endif 87 #endif
84 #endif 88 #endif