#include <wobject/xstring.hpp> 
 | 
#include <xcontrol/xtreeview.hpp> 
 | 
#include <xcontrol/xdwgrid.hpp> 
 | 
#include <xcontrol/xlayersheet.hpp> 
 | 
#include <xcontrol/xcell.hpp> 
 | 
  
 | 
#include "vbusiness/vframe/maint.vframe.vbusiness.hpp" 
 | 
#include "viewobject/view.base.hpp" 
 | 
  
 | 
using xml = KXMLDOMDocument; 
 | 
class __declspec(dllexport) MaintTemplatePrintWin : public xframe 
 | 
{ 
 | 
public: 
 | 
    xcell cell; 
 | 
    xnode    m_agentNode;    //Agent Condition 
 | 
    xstring args; 
 | 
public: 
 | 
    MaintTemplatePrintWin(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} 
 | 
public: 
 | 
    static MaintTemplatePrintWin* CreateInstance(void* implPtr, void* hWnd) 
 | 
    { 
 | 
        MaintTemplatePrintWin* pWin = new MaintTemplatePrintWin(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 p) 
 | 
    { 
 | 
        //ÖØÖù¤¾ßÌõ 
 | 
        SetAgent(); 
 | 
        return 1; 
 | 
    } 
 | 
  
 | 
    int SendCtrlCmd(xcontrol xc, xstring cmd) 
 | 
    { 
 | 
        SendMessage(xc.GetHWND(), 0x401, (WPARAM)cmd.c_str(), 0); 
 | 
        return 1; 
 | 
    } 
 | 
  
 | 
    //ÃüÁî·¢²¼º¯Êý 
 | 
    int OnCmdDispatch(xstring comdid) 
 | 
    { 
 | 
        if (comdid.left(3) == L"IK_") 
 | 
        { 
 | 
            xstring cmd = comdid.mid(3, comdid.length()); 
 | 
  
 | 
            SendCtrlCmd(cell.GetHWND(), cmd); 
 | 
            return 1; 
 | 
        } 
 | 
        else if (comdid == L"xmFileOpen") 
 | 
        { 
 | 
            cell.OpenFile(); 
 | 
            cell.Redraw(); 
 | 
            return 1; 
 | 
        } 
 | 
        else if (comdid == L"xmFileSave") 
 | 
        { 
 | 
            cell.SaveFile(); 
 | 
            return 1; 
 | 
        } 
 | 
        else if (comdid == L"xmFileSaveAs") 
 | 
        { 
 | 
            cell.SaveFileAs(); 
 | 
            return 1; 
 | 
        } 
 | 
        return 0; 
 | 
    } 
 | 
  
 | 
    //ÃüÁî´¦Àíʼþ 
 | 
    int OnXCommand(TEvent* evt, LPARAM p) 
 | 
    { 
 | 
        return OnCmdDispatch(evt->xcommand.pStrID); 
 | 
    } 
 | 
  
 | 
    int OnAttachEvent() 
 | 
    { 
 | 
        //°ó¶¨¹¤¾ßÌõµã»÷ʼþ 
 | 
        AttachEvent(L"WM_XCOMMAND", (FEvent)&MaintTemplatePrintWin::OnXCommand); 
 | 
        //»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ 
 | 
        AttachEvent(L"WM_SETFOCUS", (FEvent)&MaintTemplatePrintWin::OnSetFocus); 
 | 
        return 1; 
 | 
    } 
 | 
  
 | 
    int onload() 
 | 
    { 
 | 
        cell = GetControl(L"cell"); 
 | 
        SetAgent(); 
 | 
  
 | 
        OnAttachEvent(); 
 | 
  
 | 
        if (GetWinParam()) 
 | 
        { 
 | 
            args = GetParamString(); 
 | 
            cell.openUrl(L"/sale/data/SysPrintTemplate/getdevxsl", args); 
 | 
        } 
 | 
        else 
 | 
            args = L""; 
 | 
  
 | 
        return 1; 
 | 
    } 
 | 
  
 | 
    int onloaded() 
 | 
    { 
 | 
  
 | 
        return 1; 
 | 
    } 
 | 
}; 
 |