From e3488c13f1bcbcd39f8b9b267a3897fcc0d838aa Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期三, 21 八月 2024 14:56:53 +0800 Subject: [PATCH] update sign --- jrj/project/printview/Maint.Template.PrintEx.cpp | 214 +++++++++++++++++++++++++++++------------------------ 1 files changed, 117 insertions(+), 97 deletions(-) diff --git a/jrj/project/printview/Maint.Template.PrintEx.cpp b/jrj/project/printview/Maint.Template.PrintEx.cpp index 7ec0627..0092f7d 100644 --- a/jrj/project/printview/Maint.Template.PrintEx.cpp +++ b/jrj/project/printview/Maint.Template.PrintEx.cpp @@ -1,107 +1,127 @@ -class MaintTemplatePrintWin : public xframe +#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) { - xcell cell; - xnode m_agentNode; //Agent Condition - string args; + 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 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(TEvent* evt, LPARAM p) + { + //重置工具条 + SetAgent(); + return 1; + } - //焦点激活处理函数 - int OnSetFocus(ref TEvent evt,int param) - { - //重置工具条 - SetAgent(); - return 1; - } + int SendCtrlCmd(xcontrol xc, xstring cmd) + { + SendMessage(xc.GetHWND(), 0x401, (WPARAM)cmd.c_str(), 0); + return 1; + } - int SendCtrlCmd(xcontrol xc, string cmd) + //命令发布函数 + int OnCmdDispatch(xstring comdid) + { + if (comdid.left(3) == L"IK_") { - win32::SendMessage(xc.GetId(),0x401,cmd,0); - return 1; - } + xstring cmd = comdid.mid(3, comdid.length()); - //命令发布函数 - 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 =""; - + SendCtrlCmd(cell.GetHWND(), cmd); return 1; } - - int onloaded() + else if (comdid == L"xmFileOpen") { - + cell.OpenFile(); + cell.Redraw(); return 1; - } - }; \ No newline at end of file + } + 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; + } +}; \ No newline at end of file -- Gitblit v1.9.3