#include #include #include #include #include #include #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) UserPassDlg : public xframe { public: //xdwgrid dw_list; xnode m_agentNode; //Agent Condition public: UserPassDlg(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static UserPassDlg* CreateInstance(void* implPtr, void* hWnd) { UserPassDlg* pWin = new UserPassDlg(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNode (anode,m_agentNode); } else { KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); if(agent) { xstring s = agent.xml(); m_agentNode = SetAgentNode (anode,s); } } return 1; } //½¹µã¼¤»î´¦Àíº¯Êý int OnSetFocus(TEvent* evt, LPARAM param) { //ÖØÖù¤¾ßÌõ SetAgent(); return 1; } //ÃüÁî·¢²¼º¯Êý int OnCmdDispatch(xstring comdid) { if(comdid==L"xmCancel") { CloseWindow(); return 1; } else if(comdid==L"xmOk") { if(xcontrol(GetControl(L"old_pass")).GetText()==L"") { alert(L"ÇëÊäÈë¾É¿ÚÁî!"); SetFocus(GetControl(L"old_pass")->GetHWND()); return 1; } xstring ostr = xcontrol(GetControl(L"old_pass")).GetText(); xstring str1 = xcontrol(GetControl(L"new_pass")).GetText(); xstring str2 = xcontrol(GetControl(L"new_pass1")).GetText(); if(str1 != str2) { alert(L"Á½±éпÚÁî²»Ò»ÖÂ!"); SetFocus(GetControl(L"new_pass1")->GetHWND()); return 1; } xstring oldpass = xutil::MD5(ostr); xstring newpass = xutil::MD5(str1); xml x; xaserverarg arg ; ; arg.AddArg(L"old_password",oldpass); arg.AddArg(L"new_password",newpass); if(getUrl(L"/sale/data/SysUser/update/password",arg.GetString(),x)!=1) { alert(L"ÐÞ¸Äʧ°Ü"); } else{ if(x.selectSingleNode(L"error")) { alert(x.selectSingleNode(L"error").text()); return 1; } MessageBox(GetHWND(),L"Ð޸ĿÚÁî³É¹¦£¡",L"Ìáʾ",0); CloseWindow(); } return 1; } return 0; } //ÃüÁî´¦Àíʼþ int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //°ó¶¨¹¤¾ßÌõµã»÷ʼþ AttachEvent(L"WM_XCOMMAND", (FEvent)&UserPassDlg::OnXCommand); //»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ AttachEvent(L"WM_SETFOCUS", (FEvent)&UserPassDlg::OnSetFocus); return 1; } int onload() { //const int EM_SETPASSWORDCHAR =0x00CC; //win32::SendMessage(GetControl(L"old_pass").GetId(),EM_SETPASSWORDCHAR,42,0); //win32::SendMessage(GetControl(L"new_pass").GetId(),EM_SETPASSWORDCHAR,42,0); //win32::SendMessage(GetControl(L"new_pass1").GetId(),EM_SETPASSWORDCHAR,42,0); OnAttachEvent(); return 1; } int onloaded() { SetAgent(); return 1; } };