From c34f5ae522756455f43b749684387c98ec1b03e5 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期二, 02 七月 2024 10:03:15 +0800
Subject: [PATCH] update face
---
jrj/ext-jrj/ext-jrj.vcxproj | 1
jrj/project/vindexformex.cpp | 229 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 230 insertions(+), 0 deletions(-)
diff --git a/jrj/ext-jrj/ext-jrj.vcxproj b/jrj/ext-jrj/ext-jrj.vcxproj
index c8d3637..ded3983 100644
--- a/jrj/ext-jrj/ext-jrj.vcxproj
+++ b/jrj/ext-jrj/ext-jrj.vcxproj
@@ -397,6 +397,7 @@
<ClCompile Include="..\project\start.vframe.vbusiness.cpp" />
<ClCompile Include="..\project\viewobject\view.base.hpp" />
<ClCompile Include="..\project\vindexform.cpp" />
+ <ClCompile Include="..\project\vindexformex.cpp" />
<ClCompile Include="..\project\vindexmenu.cpp" />
<ClCompile Include="..\project\workflow\workflow.actionlog.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
diff --git a/jrj/project/vindexformex.cpp b/jrj/project/vindexformex.cpp
new file mode 100644
index 0000000..54b3cf1
--- /dev/null
+++ b/jrj/project/vindexformex.cpp
@@ -0,0 +1,229 @@
+锘�
+#pragma once
+
+#include "xcontrol/xdwtable.hpp"
+#include "xcontrol/xdwgrid.hpp"
+#include "wobject/xwin.hpp"
+#include "wobject/xstring.hpp"
+#include "wobject/xaserverarg.hpp"
+#include "wobject/xaserver.hpp"
+#include "xcontrol/xcombobox.hpp"
+#include "xcontrol/xlayersheet.hpp"
+
+class __declspec(dllexport) vindexformex: public xwin
+{
+public:
+ string m_Assignment;
+ HWND m_hMenu;
+ xlayersheet mainsheet;
+ xcombobox cbx_menu;
+ xcombobox cbx_panelName;
+ xcombobox cbx_panelNo;
+ xcombobox cbx_tab;
+
+public:
+ vindexformex(void* implPtr,HWND hWnd):xwin(implPtr,hWnd){}
+public:
+ static vindexformex * CreateInstance(void* implPtr,void* hWnd)
+ {
+ return new vindexformex(implPtr,(HWND)hWnd);
+ }
+
+ string getHomeConfig(string att)
+ {
+ xml x = new xml;
+ x.setNativePointer(xml::CreateInstance());
+ x.Load("cache\\config.xml");
+ //alert(x.GetXml());
+ if (x.GetXml() == "") return "";
+ msxml::IXMLDOMElement e = x.GetXmlDoc().documentElement;
+ if (e.selectSingleNode("home"))
+ {
+ msxml::IXMLDOMElement e1 = e.selectSingleNode("home");
+ if (e1.selectSingleNode("@" + att))
+ return e1.selectSingleNode("@" + att).text;
+ }
+ return "";
+ }
+
+ int setHomeConfig(string att, string value)
+ {
+ xml x = new xml;
+ x.setNativePointer(xml::CreateInstance());
+ x.Load("cache\\config.xml");
+ if (x.GetXml() == "")
+ {
+ //alert("<config><home "+att+"="+value+"/></config>");
+ x.LoadXml("<config><home " + att + "='" + value + "'/></config>");
+ }
+ else
+ {
+ msxml::IXMLDOMElement e = x.GetXmlDoc().documentElement;
+ if (e.selectSingleNode("home"))
+ {
+ msxml::IXMLDOMElement e1 = e.selectSingleNode("home");
+ e1.setAttribute(att, value);
+ }
+ else
+ {
+ msxml::IXMLDOMElement e2 = x.GetXmlDoc().createElement("home");
+ e2.setAttribute(att, value);
+ e.appendChild(e2);
+ }
+ //alert(e.xml);
+ }
+ //alert(x.GetXml());
+ xutil::SaveToFile("cache\\config.xml", x.GetXml(), "", "", "");
+ return 1;
+ }
+
+public:
+ int OnDWClick(TEvent* evt, int p)
+ {
+ alert(L"clicked");
+ return 1;
+ }
+ int OnMenu(HWND hMenu)
+ {
+ if (!hMenu)
+ {
+ HWND hw = m_hMenu;
+ bool f = IsWindow(hw);
+
+ if (hw == 0 && f <= 0)
+ {
+ xaserverarg* arg = new xaserverarg();
+ HWND hWnd = GetHWND();
+ arg->SetParam(L"hwnd", (LPARAM)hWnd);
+ arg->SetParam(L"memuId", (LPARAM)cbx_menu.getNativePointer());
+ arg->SetParam(L"tabNo", (LPARAM)cbx_tab.getNativePointer());
+ arg->SetParam(L"panelNo", (LPARAM)cbx_panelNo.getNativePointer());
+ arg->SetParam(L"panelName", (LPARAM)cbx_panelName.getNativePointer());
+ xwin* pwin=OpenWindow(L"dev:xpage[vindexmenu.vx]", (LPARAM)arg);
+ m_hMenu = pwin->GetHWND();
+ hw = m_hMenu;
+ //return 1;
+ }
+ HWND HWND_TOPMOST = (HWND) - 1;
+ HWND HWND_NOTOPMOST =(HWND)-2;
+ int SWP_NOSIZE = 0x0001;
+ int SWP_NOMOVE = 0x0002;
+ int SWP_SHOWWINDOW = 0x0040;
+ SetWindowPos(hw, HWND_TOPMOST, -1000, -1000, 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW);
+ }
+ else
+ {
+ m_hMenu = hMenu;
+ }
+
+ xrect xr;
+ xcontrol xc = GetControl(L"xmMenu");
+ GetWindowRect(xc.GetHWND(), xr);
+ int l = xr.left;
+ int b = xr.bottom;
+
+ xrect r;
+ xc = GetControl(L"split");
+ GetWindowRect(xc.GetHWND(), r);
+ int t2 = r.top;
+ int b2 = r.bottom;
+
+ MoveWindow(m_hMenu, l - 7, b, 220, b2 - t2, true);
+
+ return 1;
+ }
+
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmMenu") OnMenu(0);
+ //else if (comdid.find(L"menuid:", 0) >= 0)
+ // return OnMenu((HWND)comdid.mid(comdid.find(L":", 0) + 1, comdid.length()).toInt());
+#if 0
+ if (comdid ==L "xmAssignment") OnChangeLogin();
+ else if (comdid == L"xmAllCaption") OnAllCaption();
+ else if (comdid == L"xmMenu") OnMenu(L"");
+ else if (comdid == L"xmHelp") return OnHelp();
+ else if (comdid.find("menuid:", 0) >= 0) OnMenu(comdid.mid(comdid.find(":", 0) + 1, comdid.length()));
+ else if (comdid.find("menuAgent:", 0) >= 0) OnMenuAgent(comdid.mid(comdid.find(":", 0) + 1, comdid.length()));
+ else if (comdid.find("changesheet:", 0) >= 0) OnChangeSheet(comdid.mid(comdid.find(":", 0) + 1, comdid.length()));
+ else if (comdid.find("openforoldid:", 0) >= 0) OnOpenForOld(comdid.mid(comdid.find(":", 0) + 1, comdid.length()));
+ else if (comdid.find("open:", 0) >= 0) OnOpen(comdid.mid(comdid.find(":", 0) + 1, comdid.length()));
+ else if (comdid == "xmRefreshTask")
+ {
+ SendMessage(m_startwin, 0x401, comdid, 0);
+ return 1;
+ }
+#endif
+ return 0;
+ }
+
+ int OnXCommand(TEvent* evt,int p)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ int OnAttachListon()
+ {
+ AttachEvent(L"WM_XCOMMAND",(FEvent)&vindexformex::OnXCommand,this);
+ //AttachEvent("mdilayer", "LYSN_SELECTEDSHEET",OnSheetChanged);
+ ////AttachEvent("mdilayer", "LYSN_CLOSESHEET",OnCloseSheet);
+ return 1;
+ }
+
+ int SetUserID()
+ {
+ Hxsoft::XFrame::KXMLDOMDocument x;
+ xaserverarg arg;
+ arg.AddArg(L"Assignment", m_Assignment);
+ if(xaserver::ExecXQuery(GetServerUrl(),L"[GetSysInfo.xq]",arg.GetString(),x)!=1)
+ {
+ trace(x.xml());
+ return -1;
+ }
+ if((xstring)x.xml() == L"") return -1;
+
+ Hxsoft::XFrame::KXMLDOMElement e = x.documentElement();
+ if((xstring)m_Assignment == L"" && e.selectSingleNode(L"AssignmentID"))
+ {
+ string sInfoEx = e.selectSingleNode(L"AssignmentID").text();
+ m_Assignment = sInfoEx;
+ }
+
+ if((xstring)m_Assignment == L"")
+ alert(L"鑾峰彇鐢ㄦ埛鏁版嵁澶辫触锛岃閲嶆柊鐧诲綍!");
+ else
+ xaserver::SetUID((LPWSTR)m_Assignment);
+ return 1;
+ }
+
+ int Initial()
+ {
+ SetUserID();
+ return 1;
+ }
+ int onload()
+ {
+ m_hMenu = 0;
+ m_Assignment = L"";
+
+ mainsheet = GetControl(L"mdilayer");
+ cbx_menu = GetControl(L"memuId");
+ cbx_tab = GetControl(L"tabNo");
+ cbx_panelNo = GetControl(L"panelNo");
+ cbx_panelName = GetControl(L"panelName");
+
+ Initial();
+
+ OnAttachListon();
+ OpenWindow(L"dev:xpage[start.vframe.vbusiness.vx]");
+
+ return 1;
+ }
+
+
+
+};
+
+
+
+
--
Gitblit v1.9.3