Commit ca1a0fb125d35ddf0a75ab4e7e67e0986daf6ddb

Authored by liuye
1 parent 40a8bc32

feat(etrade_card_client):修改卡片升级提示方式

修改卡片升级提示方式,在客户端菜单栏上实现卡片升级提示。
etrade_card_client/ETradeClient.rc
... ... @@ -231,6 +231,14 @@ BEGIN
231 231 CONTROL "ÐÂÖÐеç×Ó¶Á¿¨Æ÷",IDC_RADIO_XINZHONGXIN,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,174,186,71,10
232 232 END
233 233  
  234 +IDD_DIALOG_NOTICEWND DIALOGEX 0, 0, 310, 176
  235 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU
  236 +FONT 8, "MS Shell Dlg", 400, 0, 0x1
  237 +BEGIN
  238 + EDITTEXT IDC_EDIT_NOTICE,122,52,40,14,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
  239 + EDITTEXT IDC_EDIT_NOTICE_MARK,120,98,40,14,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
  240 +END
  241 +
234 242  
235 243 /////////////////////////////////////////////////////////////////////////////
236 244 //
... ... @@ -298,6 +306,14 @@ BEGIN
298 306 TOPMARGIN, 7
299 307 BOTTOMMARGIN, 248
300 308 END
  309 +
  310 + IDD_DIALOG_NOTICEWND, DIALOG
  311 + BEGIN
  312 + LEFTMARGIN, 7
  313 + RIGHTMARGIN, 303
  314 + TOPMARGIN, 7
  315 + BOTTOMMARGIN, 169
  316 + END
301 317 END
302 318 #endif // APSTUDIO_INVOKED
303 319  
... ...
etrade_card_client/ETradeClient.vcxproj
... ... @@ -127,6 +127,8 @@
127 127 <ClInclude Include="ETradeClient\hardware\password_machine.h" />
128 128 <ClInclude Include="ETradeClient\hardware\pin_pad.h" />
129 129 <ClInclude Include="ETradeClient\hardware\SynPublic.h" />
  130 + <ClInclude Include="ETradeClient\mfc_ui\ETNoticeEdit.h" />
  131 + <ClInclude Include="ETradeClient\mfc_ui\ETNoticeWnd.h" />
130 132 <ClInclude Include="ETradeClient\mfc_ui\ETradeClient.h" />
131 133 <ClInclude Include="ETradeClient\mfc_ui\ETradeClientView.h" />
132 134 <ClInclude Include="ETradeClient\mfc_ui\LoginDialog.h" />
... ... @@ -169,6 +171,8 @@
169 171 <ClCompile Include="ETradeClient\hardware\id_card_reader.cpp" />
170 172 <ClCompile Include="ETradeClient\hardware\password_machine.cpp" />
171 173 <ClCompile Include="ETradeClient\hardware\pin_pad.cpp" />
  174 + <ClCompile Include="ETradeClient\mfc_ui\ETNoticeEdit.cpp" />
  175 + <ClCompile Include="ETradeClient\mfc_ui\ETNoticeWnd.cpp" />
172 176 <ClCompile Include="ETradeClient\mfc_ui\ETradeClient.cpp" />
173 177 <ClCompile Include="ETradeClient\mfc_ui\ETradeClientView.cpp" />
174 178 <ClCompile Include="ETradeClient\mfc_ui\LoginDialog.cpp" />
... ...
etrade_card_client/ETradeClient.vcxproj.filters
... ... @@ -183,6 +183,12 @@
183 183 <ClInclude Include="ETradeClient\utility\ETTimeManage.h">
184 184 <Filter>Header Files\utility</Filter>
185 185 </ClInclude>
  186 + <ClInclude Include="ETradeClient\mfc_ui\ETNoticeWnd.h">
  187 + <Filter>Header Files\mfc_ui</Filter>
  188 + </ClInclude>
  189 + <ClInclude Include="ETradeClient\mfc_ui\ETNoticeEdit.h">
  190 + <Filter>Header Files\mfc_ui</Filter>
  191 + </ClInclude>
186 192 </ItemGroup>
187 193 <ItemGroup>
188 194 <ClCompile Include="stdafx.cpp">
... ... @@ -290,6 +296,12 @@
290 296 <ClCompile Include="ETradeClient\utility\ETTimeManage.cpp">
291 297 <Filter>Source Files\utility</Filter>
292 298 </ClCompile>
  299 + <ClCompile Include="ETradeClient\mfc_ui\ETNoticeWnd.cpp">
  300 + <Filter>Source Files\mfc_ui</Filter>
  301 + </ClCompile>
  302 + <ClCompile Include="ETradeClient\mfc_ui\ETNoticeEdit.cpp">
  303 + <Filter>Source Files\mfc_ui</Filter>
  304 + </ClCompile>
293 305 </ItemGroup>
294 306 <ItemGroup>
295 307 <ResourceCompile Include="ETradeClient.rc">
... ...
etrade_card_client/ETradeClient/browser/async_js_callback_handler.cpp
... ... @@ -112,7 +112,7 @@ namespace HW
112 112  
113 113 HardwareCmd::Reply reply = m_hw_cmd_map.at(hw_req.cmd + hw_req.file_id).Execute(hw_req.data);
114 114 std::string answer = "";
115   - if (boost::iequals(OK, reply.error_code) || boost::iequals("309", reply.error_code)) // Succeed.
  115 + if (boost::iequals(OK, reply.error_code)) // Succeed.
116 116 answer = hw_req.cmd + "_ack";
117 117 else
118 118 answer = hw_req.cmd + "_failed";
... ...
etrade_card_client/ETradeClient/hardware/hardware_cmd.cpp
... ... @@ -20,6 +20,7 @@
20 20 #include "ETradeClient/utility/DLBmpManager.h"
21 21 #include "ETradeClient/utility/string_converter.h"
22 22 #include "ETradeClient/utility/DLDes.h"
  23 +#include "ETradeClient/utility/win_msg_define.h"
23 24  
24 25 namespace StatusCode
25 26 {
... ... @@ -44,7 +45,6 @@ namespace StatusCode
44 45 static const std::string DILI_CARD_DEVICE_WRITE_SERVICE_INFO_FAILED = "306"; // 写入卡片业务信息失败.
45 46 static const std::string DILI_CARD_DEVICE_WRITE_UNMATCHED_CARD = "307"; // 写卡卡片的序列号不匹配.
46 47 static const std::string DILI_CARD_DEVICE_NEED_UPDATE_CAN_NOT_USE = "308"; //卡片需要升级,请升级后继续使用。
47   - static const std::string DILI_CARD_DEVICE_NEED_UPDATE_CAN_USE = "309"; //卡片需要升级。
48 48  
49 49 static const std::string PWD_MACHINE_CONNECT_FAILED = "401"; // 连接加密机失败.
50 50 static const std::string PWD_MACHINE_GET_KEY_FAILED = "402"; // 从加密机读取密钥失败.
... ... @@ -879,15 +879,16 @@ ReadPINPadCmd::Reply ReadDILICardBasicInfoCmd::Execute(const std::string&amp; input)
879 879 if (dili_card_device.NeedCreateFile())
880 880 {
881 881 LOG_FATAL(L"卡片需要升级!");
882   - reply.error_code = StatusCode::DILI_CARD_DEVICE_NEED_UPDATE_CAN_USE;
883 882 //启动卡片升级程序 add by liuye
884 883 ShellExecute(NULL, L"open", L".\\DLCardTool.exe", NULL, NULL, SW_SHOW);
885 884 //
  885 + HWND hWindow = (HWND)GetActiveWindow(); // The frame window will be the parent of the browser window.
  886 + ::SendMessage(hWindow, WM_UI_CARD_UPDATA, NULL, NULL);
886 887 }
887 888  
888 889 } while (0);
889 890 dili_card_device.Disconnect();
890   - if (boost::iequals(reply.error_code, StatusCode::OK) || boost::iequals(reply.error_code, StatusCode::DILI_CARD_DEVICE_NEED_UPDATE_CAN_USE))
  891 + if (boost::iequals(reply.error_code, StatusCode::OK))
891 892 LOG_TRACE(L"读取卡片基本信息成功。");
892 893  
893 894 reply.data.put("chipNo", card_basic_info.chip_num);
... ...
etrade_card_client/ETradeClient/mfc_ui/ETNoticeEdit.cpp 0 → 100644
  1 +// ETNoticeEdit.cpp : ʵÏÖÎļþ
  2 +//
  3 +
  4 +#include "stdafx.h"
  5 +#include "ETNoticeEdit.h"
  6 +
  7 +
  8 +// CETNoticeEdit
  9 +
  10 +IMPLEMENT_DYNAMIC(CETNoticeEdit, CEdit)
  11 +
  12 +CETNoticeEdit::CETNoticeEdit()
  13 +:m_pFont(NULL)
  14 +{
  15 +}
  16 +
  17 +CETNoticeEdit::~CETNoticeEdit()
  18 +{
  19 +}
  20 +
  21 +
  22 +BEGIN_MESSAGE_MAP(CETNoticeEdit, CEdit)
  23 + ON_WM_PAINT()
  24 +END_MESSAGE_MAP()
  25 +
  26 +
  27 +
  28 +// CETNoticeEdit ÏûÏ¢´¦Àí³ÌÐò
  29 +void CETNoticeEdit::OnPaint()
  30 +{
  31 + CPaintDC dc(this); // device context for painting
  32 +
  33 + CRect rtClient;
  34 + GetClientRect(&rtClient);
  35 +
  36 + if (m_pFont)
  37 + {
  38 + dc.SelectObject(m_pFont);
  39 + }
  40 +
  41 + dc.SetTextColor(RGB(255, 0, 0));
  42 +
  43 + CString sText;
  44 + GetWindowText(sText);
  45 + dc.DrawText(sText, rtClient, DT_SINGLELINE | DT_LEFT | DT_VCENTER);
  46 +
  47 + __super::OnPaint();
  48 +}
  49 +
  50 +void CETNoticeEdit::SetTextFont(CFont *pFont /* = NULL */)
  51 +{
  52 + m_pFont = pFont;
  53 +}
  54 +
  55 +
... ...
etrade_card_client/ETradeClient/mfc_ui/ETNoticeEdit.h 0 → 100644
  1 +#pragma once
  2 +#include "resource.h"
  3 +
  4 +
  5 +// CETNoticeEdit
  6 +
  7 +class CETNoticeEdit : public CEdit
  8 +{
  9 + DECLARE_DYNAMIC(CETNoticeEdit)
  10 +
  11 +public:
  12 + CETNoticeEdit();
  13 + virtual ~CETNoticeEdit();
  14 +
  15 +protected:
  16 + DECLARE_MESSAGE_MAP()
  17 +public:
  18 + afx_msg void OnPaint();
  19 + void SetTextFont(CFont *pFont = NULL);
  20 +private:
  21 + CFont *m_pFont;
  22 +};
  23 +
  24 +
... ...
etrade_card_client/ETradeClient/mfc_ui/ETNoticeWnd.cpp
... ... @@ -14,8 +14,6 @@ IMPLEMENT_DYNAMIC(CETNoticeWnd, CDialogEx)
14 14  
15 15 CETNoticeWnd::CETNoticeWnd(CWnd* pParent /*=NULL*/)
16 16 : CDialogEx(CETNoticeWnd::IDD, pParent),
17   - m_iTimerID(0), m_iCurPos(0),
18   - m_iDelayTime(0), m_iIntervalTime(0),
19 17 m_sText(_T(""))
20 18 {
21 19  
... ... @@ -28,16 +26,14 @@ CETNoticeWnd::~CETNoticeWnd()
28 26 void CETNoticeWnd::DoDataExchange(CDataExchange* pDX)
29 27 {
30 28 CDialogEx::DoDataExchange(pDX);
31   - //DDX_Control(pDX, IDC_EDIT_NOTICE, m_editNotice);
  29 + DDX_Control(pDX, IDC_EDIT_NOTICE, m_editNotice);
  30 + DDX_Control(pDX, IDC_EDIT_NOTICE_MARK, m_editMark);
32 31 }
33 32  
34 33  
35 34 BEGIN_MESSAGE_MAP(CETNoticeWnd, CDialogEx)
36   - ON_WM_TIMER()
37 35 ON_WM_HSCROLL()
38   - ON_WM_PAINT()
39 36 ON_WM_SIZE()
40   - ON_WM_CTLCOLOR()
41 37 END_MESSAGE_MAP()
42 38  
43 39  
... ... @@ -56,28 +52,12 @@ void CETNoticeWnd::SetWindowText(CString sText)
56 52 ShowWindow(SW_SHOW);
57 53 m_sText = sText;
58 54 ReSizeEdit();
59   - if (m_iTimerID == 0)
60   - {
61   - m_iTimerID = 1;
62   - SetTimer(m_iTimerID, 100, NULL);
63   - }
64 55 }
65 56 }
66 57  
67 58 void CETNoticeWnd::CloseNoticeWnd()
68 59 {
69 60 m_editNotice.SetWindowText(_T(""));
70   - ReSetState();
71   - if (m_iTimerID != 0)
72   - {
73   - KillTimer(m_iTimerID);
74   - }
75   -}
76   -
77   -void CETNoticeWnd::ReSetState()
78   -{
79   - m_iCurPos = 0;
80   - m_iDelayTime = 0;
81 61 }
82 62  
83 63 BOOL CETNoticeWnd::OnInitDialog()
... ... @@ -88,14 +68,29 @@ BOOL CETNoticeWnd::OnInitDialog()
88 68 m_editNotice.SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
89 69 ReSizeEdit();
90 70  
91   - m_fontText.CreatePointFont(120, _T("微软雅黑"));
  71 + m_fontText.CreatePointFont(100, _T("微软雅黑"));
92 72 m_editNotice.SetTextFont(&m_fontText);
93 73  
94   - m_iIntervalTime = 100; //设置计时器间隔时间,单位毫秒
95 74  
96   - m_editNotice.EnableWindow(FALSE);
  75 + m_fontMark.CreateFont(100, // nHeight
  76 + 0, // nWidth
  77 + 0, // nEscapement
  78 + 0, // nOrientation
  79 + FW_BOLD, // nWeight
  80 + FALSE, // bItalic
  81 + FALSE, // bUnderline
  82 + 0, // cStrikeOut
  83 + ANSI_CHARSET, // nCharSet
  84 + OUT_DEFAULT_PRECIS, // nOutPrecision
  85 + CLIP_DEFAULT_PRECIS, // nClipPrecision
  86 + DEFAULT_QUALITY, // nQuality
  87 + DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
  88 + NULL); // lpszFac
  89 + m_editMark.SetFont(&m_fontMark);
  90 + m_editMark.SetWindowText(L"!");
97 91  
98   - m_brushBKG.CreateSolidBrush(RGB(255, 0, 0));
  92 + m_editNotice.EnableWindow(FALSE);
  93 + m_editMark.EnableWindow(FALSE);
99 94  
100 95 return TRUE; // return TRUE unless you set the focus to a control
101 96 // 异常: OCX 属性页应返回 FALSE
... ... @@ -103,57 +98,18 @@ BOOL CETNoticeWnd::OnInitDialog()
103 98  
104 99 void CETNoticeWnd::ReSizeEdit()
105 100 {
106   - ReSetState();
107   -
108 101 CPaintDC dc(this);
109 102 dc.SelectObject(m_fontText);
110 103  
111 104 CSize szText = dc.GetTextExtent(m_sText);
112 105 CRect rtClient;
113 106 GetClientRect(&rtClient);
114   - m_editNotice.MoveWindow(rtClient.left, rtClient.Height() / 2 - szText.cy / 2, szText.cx, szText.cy);
115   -}
116   -
117   -void CETNoticeWnd::OnTimer(UINT_PTR nIDEvent)
118   -{
119   - if (m_iDelayTime < 3000)
120   - {
121   - m_iDelayTime += m_iIntervalTime;
122   - return;
123   - }
124   - CRect rtEdit;
125   - m_editNotice.GetWindowRect(&rtEdit);
126   - ScreenToClient(&rtEdit);
127   - if (m_iCurPos < (0 - rtEdit.Width()))
128   - {
129   - CRect rtClient;
130   - GetClientRect(&rtClient);
131   - int iMoveDistance = rtClient.Width() + rtEdit.Width();
132   - ScrollWindow(iMoveDistance, 0);
133   - m_iCurPos += iMoveDistance;
134   - }
135   - else
136   - {
137   - ScrollWindow(SCROLLSPEED, 0);
138   - m_iCurPos += SCROLLSPEED;
139   - }
140   -
141   - CDialogEx::OnTimer(nIDEvent);
142   -}
143   -
144   -
145   -void CETNoticeWnd::OnPaint()
146   -{
147   - CPaintDC dc(this); // device context for painting
  107 + m_editNotice.MoveWindow(rtClient.right - szText.cx, rtClient.Height() / 2 - szText.cy / 2 - 1, szText.cx, szText.cy);
148 108  
149   - //CRect rtClient;
150   - //GetClientRect(&rtClient);
151   - //dc.FillSolidRect(rtClient, RGB(255, 0, 0)); //设置为红色背景
152   -
153   - CDialogEx::OnPaint();
  109 + const int kMarkWidth = 10;
  110 + m_editMark.MoveWindow(rtClient.right - szText.cx - kMarkWidth - 1, rtClient.Height() / 2 - szText.cy / 2 - 1, kMarkWidth, szText.cy);
154 111 }
155 112  
156   -
157 113 void CETNoticeWnd::OnSize(UINT nType, int cx, int cy)
158 114 {
159 115 CDialogEx::OnSize(nType, cx, cy);
... ... @@ -162,13 +118,3 @@ void CETNoticeWnd::OnSize(UINT nType, int cx, int cy)
162 118 }
163 119  
164 120  
165   -
166   -
167   -
168   -
169   -HBRUSH CETNoticeWnd::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
170   -{
171   - HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
172   -
173   - return m_brushBKG;
174   -}
... ...
etrade_card_client/ETradeClient/mfc_ui/ETNoticeWnd.h
... ... @@ -27,21 +27,12 @@ public:
27 27 void ReSizeEdit();
28 28  
29 29 private:
30   - void ReSetState();
31   -
32   -private:
33 30 CETNoticeEdit m_editNotice;
34   - int m_iTimerID;
35   - int m_iCurPos;
  31 + CETNoticeEdit m_editMark;
36 32 CString m_sText;
37   - int m_iDelayTime;
38   - int m_iIntervalTime;
39 33 CFont m_fontText;
40   - CBrush m_brushBKG;
  34 + CFont m_fontMark;
41 35 public:
42 36 virtual BOOL OnInitDialog();
43   - afx_msg void OnTimer(UINT_PTR nIDEvent);
44   - afx_msg void OnPaint();
45 37 afx_msg void OnSize(UINT nType, int cx, int cy);
46   - afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
47 38 };
... ...
etrade_card_client/ETradeClient/mfc_ui/MainFrm.cpp
... ... @@ -38,6 +38,9 @@
38 38  
39 39 namespace fs = boost::filesystem;
40 40  
  41 +const int NOTICEEDIT_LEFTSPACE = 5;
  42 +const int NOTICEEDTT_RIGHTSPACE = 5;
  43 +
41 44 namespace
42 45 {
43 46 static const uint32_t MENU_ICON_WIDTH = 32, MENU_ICON_HEIGHT = 32;
... ... @@ -98,6 +101,8 @@ BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
98 101 ON_WM_TIMER()
99 102  
100 103 ON_MESSAGE(WM_TIME_TICK, UpdateTime)
  104 + ON_WM_SIZE()
  105 + ON_MESSAGE(WM_UI_CARD_UPDATA, ShowCardUpdataText)
101 106 END_MESSAGE_MAP()
102 107  
103 108 static UINT indicators[] =
... ... @@ -212,6 +217,8 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
212 217 break;
213 218 if (!CreateMainFrmUI())
214 219 break;
  220 + if (!CreateNoticeEdit())
  221 + break;
215 222  
216 223 AfxBeginThread(TimeTick, this);//这个级别高一点,用来更新时间
217 224 SetTimer(1, 60000, NULL);//这个级别低一点,用来从服务器获取时间
... ... @@ -827,6 +834,11 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
827 834 UINT nIndex = m_status_bar.CommandToIndex(ID_INDICATOR_TIME);//获取时间指示器索引
828 835 m_status_bar.SetPaneText(nIndex, sTime);
829 836 }
  837 + if (nIDEvent == 2) //更新noticewnd状态
  838 + {
  839 + m_dlgNotice.ShowWindow(SW_HIDE);
  840 + KillTimer(nIDEvent);
  841 + }
830 842  
831 843 CFrameWnd::OnTimer(nIDEvent);
832 844 }
... ... @@ -843,4 +855,50 @@ LRESULT CMainFrame::UpdateTime(WPARAM wParam, LPARAM lParam)
843 855 m_status_bar.SetPaneText(nIndex, sTime);
844 856  
845 857 return NULL;
846   -}
847 858 \ No newline at end of file
  859 +}
  860 +
  861 +LRESULT CMainFrame::ShowCardUpdataText(WPARAM wParam, LPARAM lParam)
  862 +{
  863 + m_dlgNotice.ShowWindow(SW_SHOW);
  864 + SetTimer(2, 3000, NULL);
  865 + return NULL;
  866 +}
  867 +
  868 +void CMainFrame::SetNoticeEditPos()
  869 +{
  870 + CRect rtMenu;
  871 + CRect rtButton;
  872 +
  873 + int iButtonCount = m_quick_access_tlb.GetToolBarCtrl().GetButtonCount();
  874 + m_quick_access_tlb.GetItemRect(iButtonCount - 1, &rtButton);
  875 + m_quick_access_tlb.ClientToScreen(&rtButton);
  876 + ScreenToClient(&rtButton);
  877 + int iNoticeLeft = rtButton.right + NOTICEEDIT_LEFTSPACE;
  878 + int iNoticeHeight = rtButton.Height();
  879 + int iNoticeTop = rtButton.top;
  880 +
  881 + m_ex_func_tlb.GetWindowRect(&rtMenu);
  882 + ScreenToClient(&rtMenu);
  883 + int iNoticeWidth = rtMenu.left - NOTICEEDTT_RIGHTSPACE - iNoticeLeft/* - SHOPNAMESTATIC_WEIGHT*/;
  884 +
  885 + m_dlgNotice.MoveWindow(iNoticeLeft, iNoticeTop, iNoticeWidth, iNoticeHeight);
  886 + m_dlgNotice.ReSizeEdit();
  887 +}
  888 +
  889 +bool CMainFrame::CreateNoticeEdit()
  890 +{
  891 + m_dlgNotice.Create(IDD_DIALOG_NOTICEWND, this);
  892 + m_dlgNotice.ShowWindow(SW_HIDE);
  893 + SetNoticeEditPos();
  894 + m_dlgNotice.SetWindowText(L"有新的卡片升级文件,请先进行卡片升级。");
  895 + m_dlgNotice.ShowWindow(SW_HIDE);
  896 +
  897 + return true;
  898 +}
  899 +
  900 +void CMainFrame::OnSize(UINT nType, int cx, int cy)
  901 +{
  902 + CFrameWnd::OnSize(nType, cx, cy);
  903 +
  904 + SetNoticeEditPos();
  905 +}
... ...
etrade_card_client/ETradeClient/mfc_ui/MainFrm.h
... ... @@ -13,6 +13,7 @@
13 13 #include "etradeclient/utility/menu_res_auth_mgr.h"
14 14  
15 15 #include "etradeclient/utility/ETTimeManage.h"
  16 +#include "ETNoticeWnd.h"
16 17  
17 18 class CMainFrame : public CFrameWnd
18 19 {
... ... @@ -101,12 +102,16 @@ private:
101 102  
102 103 CETTimeManage m_cTimeManager;
103 104  
  105 + CETNoticeWnd m_dlgNotice;
104 106 public:
105   - afx_msg void OnSize(UINT nType, int cx, int cy);
106 107 afx_msg void OnTimer(UINT_PTR nIDEvent);
107 108 afx_msg LRESULT UpdateTime(WPARAM wParam, LPARAM lParam);
108   -
  109 + void SetNoticeEditPos();
  110 + bool CreateNoticeEdit();
  111 +
  112 + afx_msg LRESULT ShowCardUpdataText(WPARAM wParam, LPARAM lParam);
109 113  
  114 + afx_msg void OnSize(UINT nType, int cx, int cy);
110 115 };
111 116  
112 117  
... ...
etrade_card_client/ETradeClient/utility/win_msg_define.h
... ... @@ -24,6 +24,7 @@
24 24 #define WM_CRASH_CLOSE (WM_USER + 118)
25 25  
26 26 #define WM_TIME_TICK (WM_USER + 119)
  27 +#define WM_UI_CARD_UPDATA (WM_USER + 200)
27 28  
28 29 #define WM_UPDATE_USER_MSG_COUNT (WM_USER + 300)
29 30  
... ...
etrade_card_client/resource.h
... ... @@ -11,6 +11,7 @@
11 11 #define IDD_LOGIN 318
12 12 #define IDD_POPUP_BROWSER_VIEW 319
13 13 #define IDI_ICON1 324
  14 +#define IDD_DIALOG_NOTICEWND 326
14 15 #define IDC_USERNAME 1000
15 16 #define IDC_PWD 1001
16 17 #define IDC_ACCOUNT_EDIT 1002
... ... @@ -29,6 +30,9 @@
29 30 #define IDC_RADIO_HUASHIDIANZI 1017
30 31 #define IDC_RADIO2 1018
31 32 #define IDC_RADIO_XINZHONGXIN 1018
  33 +#define IDC_EDIT_NOTICE 1018
  34 +#define IDC_EDIT_NOTICE2 1019
  35 +#define IDC_EDIT_NOTICE_MARK 1019
32 36 #define ID_EXIT 32782
33 37 #define ID_MODIFY_PASSWORD 32801
34 38 #define ID_MODIFY_CONFIG 32807
... ... @@ -67,9 +71,9 @@
67 71 //
68 72 #ifdef APSTUDIO_INVOKED
69 73 #ifndef APSTUDIO_READONLY_SYMBOLS
70   -#define _APS_NEXT_RESOURCE_VALUE 326
  74 +#define _APS_NEXT_RESOURCE_VALUE 327
71 75 #define _APS_NEXT_COMMAND_VALUE 32829
72   -#define _APS_NEXT_CONTROL_VALUE 1018
  76 +#define _APS_NEXT_CONTROL_VALUE 1019
73 77 #define _APS_NEXT_SYMED_VALUE 311
74 78 #endif
75 79 #endif
... ...