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;
|
}
|
|
};
|