#include <wobject/xstring.hpp> 
 | 
#include <xcontrol/xtreeview.hpp> 
 | 
#include <xcontrol/xdwgrid.hpp> 
 | 
  
 | 
#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" 
 | 
#include "viewobject/view.base.hpp" 
 | 
  
 | 
using xml = KXMLDOMDocument; 
 | 
    class __declspec(dllexport) SearchDlg : public xframe 
 | 
    { 
 | 
    public: 
 | 
        xnode    m_agentNode;    //Agent Condition 
 | 
  
 | 
        xcontrol sle_1; 
 | 
    public: 
 | 
        SearchDlg(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd), sle_1(0){} 
 | 
    public: 
 | 
        static SearchDlg* CreateInstance(void* implPtr, void* hWnd) 
 | 
        { 
 | 
            SearchDlg* pWin = new SearchDlg(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 OnOk() 
 | 
        { 
 | 
            if (GetWinParam()) 
 | 
            { 
 | 
                xaserverarg arg = GetArg(); 
 | 
                arg.AddArg(L"text", xcontrol(GetControl(L"sl_search")).GetText()); 
 | 
                CloseWindow(); 
 | 
            } 
 | 
            return 1; 
 | 
        } 
 | 
  
 | 
        //ÃüÁî·¢²¼º¯Êý 
 | 
        int OnCmdDispatch(xstring comdid) 
 | 
        { 
 | 
            if (comdid == L"xmCancel") 
 | 
            { 
 | 
                CloseWindow(); 
 | 
                return 1; 
 | 
            } 
 | 
            else if (comdid == L"xmOk") return OnOk(); 
 | 
            return 0; 
 | 
        } 
 | 
  
 | 
        //ÃüÁî´¦Àíʼþ 
 | 
        int OnXCommand(TEvent* evt, LPARAM param) 
 | 
        { 
 | 
            return OnCmdDispatch(evt->xcommand.pStrID); 
 | 
        } 
 | 
  
 | 
        int OnAttachEvent() 
 | 
        { 
 | 
            //°ó¶¨¹¤¾ßÌõµã»÷ʼþ 
 | 
            AttachEvent(L"WM_XCOMMAND", (FEvent)&SearchDlg::OnXCommand); 
 | 
            //»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ 
 | 
            AttachEvent(L"WM_SETFOCUS", (FEvent)&SearchDlg::OnSetFocus); 
 | 
            return 1; 
 | 
        } 
 | 
  
 | 
        int onload() 
 | 
        { 
 | 
            SetArg(); 
 | 
            sle_1 = GetControl(L"sl_search"); 
 | 
            int x = GetWindowLong(GetHWND(), -16); //GWL_STYLE 
 | 
            x = x + 0x0008; 
 | 
            SetWindowLong(GetHWND(), -16, x);//sle_1ÊDZ༴°¿Ú¿Ø¼þ 
 | 
  
 | 
            OnAttachEvent(); 
 | 
            if (GetWinParam()) 
 | 
            { 
 | 
                xaserverarg arg = GetArg(); 
 | 
                xcontrol(GetControl(L"sl_search")).SetText(arg.GetArgString(L"text")); 
 | 
            } 
 | 
  
 | 
            return 1; 
 | 
        } 
 | 
  
 | 
    }; 
 |