LiFan
2024-07-05 2670a91426860337ce5cba63608656971e288cee
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
class SearchDlg :  public xframe
    {
        xnode    m_agentNode;    //Agent Condition
 
        xcontrol sle_1;
    
        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 OnOk()
        {
            if(GetParam())
            {
                xaserverarg arg = GetParam();
                arg.AddArg("text",GetControl("sl_search").GetText());
                CloseWindow();
            }
            return 1;
        }
 
        //ÃüÁî·¢²¼º¯Êý
        int OnCmdDispatch(string comdid)
        {
            if(comdid=="xmCancel")
            {
                CloseWindow();
                return 1;
            }
            else if(comdid=="xmOk") return OnOk();
            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()
        {
            sle_1 = GetControl("sl_search");
            int x = win32::GetWindowLong(sle_1.GetId(), -16); //GWL_STYLE
            x = x+ 0x0008;
            win32::SetWindowLong(sle_1.GetId(), -16,x);//sle_1ÊDZ༭´°¿Ú¿Ø¼þ
            
            OnAttachEvent();
            if(GetParam())
            {
                xaserverarg arg = GetParam();
                GetControl("sl_search").SetText(arg.GetArgString("text"));
            }
            
            return 1;
        }
        
    };