From 39874cc0992b23bb2544f88cc4257f16616cdd78 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期四, 24 四月 2025 14:51:57 +0800 Subject: [PATCH] update --- jrj/project/IndexMenuWin.cpp | 49 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 42 insertions(+), 7 deletions(-) diff --git a/jrj/project/IndexMenuWin.cpp b/jrj/project/IndexMenuWin.cpp index 8c0c021..c25a3ba 100644 --- a/jrj/project/IndexMenuWin.cpp +++ b/jrj/project/IndexMenuWin.cpp @@ -11,6 +11,9 @@ #include "wobject/xnode.hpp" #include "platform/nstring.hpp" +#include <vector> +//#include <stdio.h> + class __declspec(dllexport)IndexMenuWin: public xwin { public: @@ -28,7 +31,7 @@ HWND m_nHwnd; int tabNo; - //int m_panelNo; // 褰撳墠鑿滃崟缁� + //int m_panelNo; // 当前菜单组 xstring m_Assignment; public: IndexMenuWin(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {} @@ -199,7 +202,7 @@ if(hItem == 0) return 1; int hasChild = tv_menu.GetItemChild1(hItem); if(hasChild > 0) return 1; - int ret = rClick(L"鏀惰棌鑿滃崟"); + int ret = rClick(L"收藏菜单"); if(ret == 1) { xstring id = (xstring)tv_menu.GetItemData(hItem); @@ -210,7 +213,7 @@ if(xaserver::ExecXQuery(GetServerUrl(),L"[menu.user.edit.xq]",arg.GetString(),x)!=1) { trace(x.xml()); - //alert("鏀惰棌澶辫触!"); + //alert("收藏失败!"); return -1; } createTree1(); @@ -290,7 +293,38 @@ dbClick(tv_menu, hItem); return 1; } - + + int SetMenuAgent() + { + xaserverarg arg; + KXMLDOMDocument x; + arg.SetArg(L"pid", L"null"); + arg.SetArg(L"Assignment", this->m_Assignment); + if (xaserver::ExecXQuery(GetServerUrl(), L"[Items.menu.xq]", arg.GetString(), x) != 1) + { + trace(x.xml()); + alert("取消失败!"); + return -1; + } + KXMLDOMNodeList items = x.selectNodes(L"*/item"); + long len = items.length(); + xstring tools; + wchar_t tool[1204]; + const wchar_t * templ = L"<xtoolbutton width ='80' imageflow ='top' height ='80' caption ='%s' name ='Menu-%d' src ='icons32/%s白.png' style ='font-family:思源黑体 CN Bold;font-size:9pt;margin:8;text-align:center;background-color:%s;background-radius:8pt;'><help>%s</help></xtoolbutton>"; + std::vector<const wchar_t*> colors{L"#DE9832",L"#32B2E6",L"#FFEF34",L"#2EA14A",L"#D54C84"}; + for (int i = 0; i < len; i++) + { + if (i >= 20)break; + xstring name = items.item(i).selectSingleNode(L"name").text(); + xstring id = items.item(i).selectSingleNode(L"id").text(); + xstring src = name.replace(L"管理", L"").replace(L"模块", L""); + swprintf_s(tool, 1024, templ, name.c_str(), i, src.c_str(), colors[i % 5],name.c_str()); + if (i == 0) tools = tool; else tools += tool; + } + tools = L"<box layerflow ='htmlflow'>" + tools + L"</box>"; + xnode node = this->GetAgentNode(L"menu-item"); + if(node)this->SetAgentNode(node, tools); + } int SetInitAgent() { int no = GetCurPanel(); @@ -346,7 +380,7 @@ xstring str = xc.GetText(); if(str.isEmpty()) { - alert(L"璇疯緭鍏ユ煡璇㈡潯浠�!"); + alert(L"请输入查询条件!"); return -1; } HTREEITEM rItem = tv_menu2.GetRootItem(); @@ -425,7 +459,7 @@ TVNNMHDR& nmtv = *(TVNNMHDR*)evt->notify.pnmh; HTREEITEM hItem = nmtv.FromItem; if(!hItem) return 1; - int ret = rClick(L"鍙栨秷鏀惰棌"); + int ret = rClick(L"取消收藏"); if(ret == 1) { xstring id = (xstring)tv_menu1.GetItemData(hItem); @@ -436,7 +470,7 @@ if(xaserver::ExecXQuery(GetServerUrl(),L"[menu.user.edit.xq]",arg.GetString(),x)!=1) { trace(x.xml()); - alert("鍙栨秷澶辫触!"); + alert("取消失败!"); return -1; } tv_menu1.DeleteItem(hItem); @@ -505,6 +539,7 @@ SetInitAgent(); createTree1(); + SetMenuAgent(); xutil::RestoreCursor(hCursor); //this->Redraw(); -- Gitblit v1.9.3