From 858d5b84cb2f9311d6e00d90c6f9527e2e6f57b4 Mon Sep 17 00:00:00 2001
From: lifan <2308045698@qq.com>
Date: 星期四, 04 九月 2025 17:50:13 +0800
Subject: [PATCH] update
---
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