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/vindexform.cpp | 183 ++++++++++++++++++++++++++++++++-------------
1 files changed, 130 insertions(+), 53 deletions(-)
diff --git a/jrj/project/vindexform.cpp b/jrj/project/vindexform.cpp
index 72ce110..58821fc 100644
--- a/jrj/project/vindexform.cpp
+++ b/jrj/project/vindexform.cpp
@@ -16,20 +16,15 @@
class __declspec(dllexport) vindexform: public xwin
{
public:
- string m_Assignment;
+ xstring m_Assignment;
HWND m_hMenu;
xlayersheet mainsheet;
- xcombobox cbx_menu;
- xcombobox cbx_panelName;
- xcombobox cbx_panelNo;
- xcombobox cbx_tab;
+ xcombobox cbx_menu; //椤电鏁扮粍
+ xcombobox cbx_panelName; //椤电椤哄簭鏁扮粍
+ xcombobox cbx_panelNo; //椤电鏁扮粍
+ xcombobox cbx_tab; //椤电椤哄簭鏁扮粍
- xcombobox memuId; //椤电鏁扮粍
- xcombobox tabNo; //椤电椤哄簭鏁扮粍
- xcombobox panelNo; //椤电鏁扮粍
- xcombobox panelName; //椤电椤哄簭鏁扮粍
-
HWND m_npHwnd; //鑿滃崟鏍戠獥鍙e彞鏌�
HWND m_nHwnd; //鑿滃崟鏍戠獥鍙e彞鏌�
int m_cursheet; //褰撳墠椤电
@@ -53,7 +48,7 @@
xml x ;
x.load(L"cache\\config.xml");
//alert(x.GetXml());
- if (x.xml() == L"") return L"";
+ if ((xstring)x.xml() == L"") return L"";
KXMLDOMElement e = x.documentElement();
if (e.selectSingleNode(L"home"))
{
@@ -68,24 +63,27 @@
{
xml x ;
x.load(L"cache\\config.xml");
- if (x.xml() == L"")
+ if ((xstring)x.xml() == L"")
{
- //alert(L"<config><home "+att+L"=L"+value+L"/></config>");
+ //alert(L"<config><home "+att+L"="+value+L"/></config>");
x.loadXML(L"<config><home " + att + L"='" + value + L"'/></config>");
}
else
{
KXMLDOMElement e = x.documentElement();
- if (e.selectSingleNode(L"home"))
+ if (e)
{
- KXMLDOMElement e1 = e.selectSingleNode(L"home");
- e1.setAttribute(att, value);
- }
- else
- {
- KXMLDOMElement e2 = x.createElement(L"home");
- e2.setAttribute(att, value);
- e.appendChild(e2);
+ if (e.selectSingleNode(L"home"))
+ {
+ KXMLDOMElement e1 = e.selectSingleNode(L"home");
+ e1.setAttribute(att, value);
+ }
+ else
+ {
+ KXMLDOMElement e2 = x.createElement(L"home");
+ e2.setAttribute(att, value);
+ e.appendChild(e2);
+ }
}
//alert(e.xml);
}
@@ -99,7 +97,57 @@
alert(L"clicked");
return 1;
}
- int OnMenu(xstring hMenu)
+
+ int OnMenu(HWND hMenu)
+ {
+ if (!hMenu)
+ {
+ HWND hw = m_hMenu;
+ bool bwin = hw ? IsWindow(hw):false;
+ if (!bwin)
+ {
+ xaserverarg* arg = new xaserverarg();
+ HWND hWnd = GetHWND();
+ arg->SetParam(L"hwnd", (LPARAM)hWnd);
+ arg->SetParam(L"cbx_menu", (LPARAM)cbx_menu.getNativePointer());
+ arg->SetParam(L"cbx_tab", (LPARAM)cbx_tab.getNativePointer());
+ arg->SetParam(L"cbx_panelNo", (LPARAM)cbx_panelNo.getNativePointer());
+ arg->SetParam(L"cbx_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 OnMenu1(xstring hMenu)
{
if (!hMenu)
{
@@ -111,8 +159,8 @@
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"cbx_menu", (LPARAM)cbx_menu.getNativePointer());
+ arg->SetParam(L"cbx_tab", (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);
@@ -199,7 +247,7 @@
OnMenu(NULL);
}
menuShow = -1 - isshow;
- xcombobox::SetCurSel(memuId.GetHWND(), menuShow);
+ cbx_menu.SetCurSel(menuShow);
if (f != L"")
setHomeConfig(L"menuposition", xstring(menuShow));
return 1;
@@ -207,9 +255,16 @@
int ResetMenu()
{
+ ::DestroyWindow(m_hMenu);
+ m_hMenu = 0;
+ return 1;
+
//if(m_nHwnd) xwin::CloseWindow(m_nHwnd);
m_nHwnd = 0;
+ OnMenu(NULL);
+ OnMenuAgent(L"");
+#if 0
menuShow = -1;
xstring f = getHomeConfig(L"menuposition");
if (f == L"0")
@@ -218,6 +273,7 @@
OnMenuAgent(L"");
}
+
xaserverarg arg;
HWND h = GetHWND();
@@ -225,17 +281,17 @@
arg.SetParam(L"hwnd", h);
OpenWindow(L"dev:xpage[vindexforold.vx]", arg);
-
+#endif
return 1;
}
int ReSetInfo()
{
- memuId.ResetContent();
- tabNo.ResetContent();
- panelNo.ResetContent();
- panelName.ResetContent();
+ cbx_menu.ResetContent();
+ cbx_tab.ResetContent();
+ cbx_panelNo.ResetContent();
+ cbx_panelName.ResetContent();
int hItem = mainsheet.GetSheetCount();
while (hItem > 1)
@@ -256,7 +312,7 @@
//trace(x.GetXml());
return -1;
}
- if (x.xml() == L"") return -1;
+ if ((xstring)x.xml() == L"") return -1;
KXMLDOMElement e = x.documentElement();
if (/*m_Assignment == L"" &&*/ e.selectSingleNode(L"AssignmentID"))
{
@@ -267,10 +323,10 @@
if (m_Assignment == L"")
alert(L"鑾峰彇鐢ㄦ埛鏁版嵁澶辫触锛岃閲嶆柊鐧诲綍!");
else
- xaserver::SetUID((LPWSTR)m_Assignment);
+ xaserver::SetUID((LPWSTR)m_Assignment.c_str(true));
- xcombobox::AddItem(memuId.GetHWND(), L"寮�濮�");
- xcombobox::AddItem(tabNo.GetHWND(), L"-1");
+ xcombobox::AddItem(cbx_menu.GetHWND(), L"寮�濮�");
+ xcombobox::AddItem(cbx_tab.GetHWND(), L"-1");
//OpenWindow(L"dev:xpage[vstart.vx]");
xcontrol xc = GetControl(L"statusbar0");
xc.SetText(L"姝e湪鍒濆鍖栫郴缁燂紝璇风◢鍊�....");
@@ -298,7 +354,7 @@
trace(x.xml());
return -1;
}
- if (x.xml() == L"") return -1;
+ if ((xstring)x.xml() == L"") return -1;
KXMLDOMElement e = x.documentElement();
KXMLDOMNodeList li = e.selectNodes(L"item");
int i;
@@ -350,11 +406,11 @@
int MF_CHECKED = 0x8;
int k = mainsheet.GetSheetIndex();
- //int cs = xcombobox::GetCount(memuId.GetId());
+ //int cs = xcombobox::GetCount(cbx_menu.GetId());
int cs = mainsheet.GetSheetCount();
int i;
for (i = 0; i < cs; i++) {
- //string str = xcombobox::GetLBText(memuId.GetId(), i);
+ //xstring str = xcombobox::GetLBText(cbx_menu.GetId(), i);
xstring str = mainsheet.GetSheetText(i);
if (i == k)
AppendMenu(m, MF_STRING | MF_CHECKED, i + 1, str);
@@ -460,9 +516,9 @@
if (comdid ==L"xmAssignment") OnChangeLogin();
else if (comdid == L"xmAllCaption") OnAllCaption();
- else if (comdid == L"xmMenu") OnMenu(L"");
+ else if (comdid == L"xmMenu") OnMenu(0);
else if (comdid == L"xmHelp") return OnHelp();
- else if (comdid.find(L"menuid:", 0) >= 0) OnMenu(comdid.mid(comdid.find(L":", 0) + 1, comdid.length()));
+ //else if (comdid.find(L"menuid:", 0) >= 0) OnMenu(comdid.mid(comdid.find(L":", 0) + 1, comdid.length()));
else if (comdid.find(L"menuAgent:", 0) >= 0) OnMenuAgent(comdid.mid(comdid.find(L":", 0) + 1, comdid.length()));
else if (comdid.find(L"changesheet:", 0) >= 0) OnChangeSheet(comdid.mid(comdid.find(L":", 0) + 1, comdid.length()));
//else if (comdid.find(L"openforoldid:", 0) >= 0) OnOpenForOld(comdid.mid(comdid.find(L":", 0) + 1, comdid.length()));
@@ -484,7 +540,7 @@
int OnAttachListon()
{
AttachEvent(L"WM_XCOMMAND",(FEvent)&vindexform::OnXCommand,this);
- //AttachEvent(L"mdilayer", L"LYSN_SELECTEDSHEET",OnSheetChanged);
+ //AttachEvent(L"mdilayer", L"LYSN_SELECTEDSHEET", (FEvent)&vindexform::OnSheetChanged);
////AttachEvent(L"mdilayer", L"LYSN_CLOSESHEET",OnCloseSheet);
return 1;
}
@@ -494,27 +550,27 @@
int sheet = nmtv.nSheet;
int s = mainsheet.GetSheetCount();
//trace(s);
- int cs = xcombobox::GetCount(memuId.GetHWND());
+ int cs = xcombobox::GetCount(cbx_menu.GetHWND());
int cursheet = m_cursheet;
if (s > cs) {
- xcombobox::AddItem(memuId.GetHWND(), L"鑷敱绐楀彛");
- xcombobox::AddItem(tabNo.GetHWND(), xstring(cursheet));
+ xcombobox::AddItem(cbx_menu.GetHWND(), L"鑷敱绐楀彛");
+ xcombobox::AddItem(cbx_tab.GetHWND(), xstring(cursheet));
}
if (s < cs) {
- xcombobox::DeleteItem(memuId.GetHWND(), cursheet);
+ xcombobox::DeleteItem(cbx_menu.GetHWND(), cursheet);
int i = 0;
- xstring value = xcombobox::GetLBText(tabNo.GetHWND(), cursheet);
+ xstring value = xcombobox::GetLBText(cbx_tab.GetHWND(), cursheet);
for (i = 0; i < cs; i++)
{
- xstring tabId = xcombobox::GetLBText(tabNo.GetHWND(), i);
+ xstring tabId = xcombobox::GetLBText(cbx_tab.GetHWND(), i);
if (tabId == xstring(cursheet))
{
- xcombobox::DeleteItem(tabNo.GetHWND(), i);
- xcombobox::InsertString(tabNo.GetHWND(), i, value);
+ xcombobox::DeleteItem(cbx_tab.GetHWND(), i);
+ xcombobox::InsertString(cbx_tab.GetHWND(), i, value);
}
}
- xcombobox::DeleteItem(tabNo.GetHWND(), cursheet);
+ xcombobox::DeleteItem(cbx_tab.GetHWND(), cursheet);
if (sheet != value.toInt())
mainsheet.SelectSheet(value.toInt());
}
@@ -556,14 +612,14 @@
Hxsoft::XFrame::KXMLDOMElement e = x.documentElement();
if((xstring)m_Assignment == L"" && e.selectSingleNode(L"AssignmentID"))
{
- string sInfoEx = e.selectSingleNode(L"AssignmentID").text();
+ xstring sInfoEx = e.selectSingleNode(L"AssignmentID").text();
m_Assignment = sInfoEx;
}
if((xstring)m_Assignment == L"")
alert(L"鑾峰彇鐢ㄦ埛鏁版嵁澶辫触锛岃閲嶆柊鐧诲綍!");
else
- xaserver::SetUID((LPWSTR)m_Assignment);
+ xaserver::SetUID((LPWSTR)m_Assignment.c_str(true));
return 1;
}
@@ -586,6 +642,16 @@
int Initial()
{
SetUserID();
+ xstring userno = xaserver::GetUserNo();
+ if (userno == L"admin")
+ {
+ xnode anode = GetAgentNode(L"dev");
+ int LayerFlow_WE_ = 0x00000002;
+ int LayerFlow_Control_ = 0x00000010;
+ anode.SetLayerFlow(LayerFlow_WE_ | LayerFlow_Control_);
+ }
+ m_Assignment = L"";
+
return 1;
}
int onload()
@@ -602,11 +668,22 @@
Initial();
OnAttachListon();
- OpenWindow(L"dev:xpage[start.vframe.vbusiness.vx]");
return 1;
}
+ int onloaded()
+ {
+ ReSetInfo();
+ //OpenWindow("dev:xpage[start.vframe.vbusiness.vx]");
+ //xwin* lw_face = OpenWindow(L"dev:xpage[start.vframe.vbusiness.vx]");
+ xwin* lw_face = OpenWindow(L"dev:xpage[Business5.vx]");
+ if(lw_face)m_startwin = lw_face->GetHWND();
+ cbx_panelName.SetCurSel( -1);
+ ResetMenu();
+
+ return 1;
+ }
};
--
Gitblit v1.9.3