xj qian
2024-06-28 a5e61ee40488b55a4ae53dc9222a2f9ba7564ae9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
class MaintTemplatePrintWin :  public xframe
    {
        xcell cell;
        xnode    m_agentNode;    //Agent Condition
        string args;
 
        int SetAgent()
        {
            string xfNodeAgentArea  = "agentarea";
            xnode anode = GetAgentNode(xfNodeAgentArea);
            if(m_agentNode)
            {
                SetAgentNodeContent (anode,m_agentNode);
            }
            else
            {
                msxml::IXMLDOMElement xframeElement =  GetElement();
                msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
                if(agent)
                {
                    string s = agent.xml;
                    m_agentNode =  SetAgentNodeContent (anode,s);
                }
            }
            return 1;
        }
 
        //½¹µã¼¤»î´¦Àíº¯Êý
        int OnSetFocus(ref TEvent evt,int param)
        {
            //ÖØÖù¤¾ßÌõ
            SetAgent();
            return 1;
        }
 
        int SendCtrlCmd(xcontrol xc, string cmd)
        {
            win32::SendMessage(xc.GetId(),0x401,cmd,0);
            return 1;
        }
 
        //ÃüÁî·¢²¼º¯Êý
        int OnCmdDispatch(string comdid)
        {
            if(comdid.left(3) == "IK_")
            {
                string cmd = comdid.mid(3, comdid.length());
                SendCtrlCmd(GetControl("cell"),cmd);
                return 1;
            }
            else if(comdid=="xmFileOpen")
            {
                cell.OpenFile();
                cell.Redraw();
                return 1;
            }
            else if(comdid=="xmFileSave")
            {
                cell.SaveFile();
                return 1;
            }
            else if(comdid=="xmFileSaveAs")
            {
                cell.SaveFileAs();
                return 1;
            }
            return 0;
        }
        
        //ÃüÁî´¦Àíʼþ
        int OnXCommand(ref TXCommandEvent evt,int param)
        {
            return OnCmdDispatch(evt.pStrID);
        }
        
        int OnAttachEvent()
        {
            //°ó¶¨¹¤¾ßÌõµã»÷ʼþ
            AttachEvent("WM_XCOMMAND",OnXCommand);
            //»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ
            AttachEvent("WM_SETFOCUS",OnSetFocus);
        }
        
        int onload()
        {
            cell = GetControl("cell");
            SetAgent();            
        
            OnAttachEvent();    
            
            if(GetParam())
            {
                args = GetParam();
                cell.openUrl("/sale/data/SysPrintTemplate/getdevxsl",args);
            }
            else
                args ="";
            
            return 1;
        }
        
        int onloaded()
        {
            
            return 1;
        }        
    };