|  |  | 
 |  |  |    int tabNo; | 
 |  |  |  | 
 |  |  |    //int m_panelNo; // 当前菜单组 | 
 |  |  |    string m_Assignment; | 
 |  |  |    xstring m_Assignment; | 
 |  |  | public: | 
 |  |  |    vindexmenu(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {} | 
 |  |  | public: | 
 |  |  | 
 |  |  |       return 1; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    int OnActive(TEvent* evt,int p) | 
 |  |  |    int OnActive(TEvent* evt, LPARAM p) | 
 |  |  |    { | 
 |  |  |       int WA_INACTIVE   =  0; | 
 |  |  |       int WA_ACTIVE     =  1; | 
 |  |  |       int WA_CLICKACTIVE = 2; | 
 |  |  |       int SW_HIDE=0x1; | 
 |  |  |       WPARAM lw = evt->wParam & 0xffff; | 
 |  |  |       WPARAM lw = evt->wParam; | 
 |  |  |       int x = m_bCanDestroy; | 
 |  |  |       if( lw ==WA_INACTIVE && x==1 ) | 
 |  |  |       { | 
 |  |  | 
 |  |  |       arg.AddArg(L"Assignment", m_Assignment); | 
 |  |  |       if(xaserver::ExecXQuery(GetServerUrl(),L"[Menu.index.xq]",arg.GetString(),x)!=1) | 
 |  |  |       { | 
 |  |  |          //trace(x.xml()); | 
 |  |  |          alert(x.xml()); | 
 |  |  |          return -1;    | 
 |  |  |       } | 
 |  |  |       Hxsoft::XFrame::KXMLDOMNodeList li=x.selectNodes(L"items/item"); | 
 |  |  | 
 |  |  |       return  cbx_panelName.GetCurSel(); | 
 |  |  |    } | 
 |  |  |     | 
 |  |  |    int createTree(string id, HTREEITEM parentItem) | 
 |  |  |    int createTree(xstring id, HTREEITEM parentItem) | 
 |  |  |    {    | 
 |  |  |       if(tv_menu.GetChildItem(parentItem)) return 0; | 
 |  |  |       KXMLDOMDocument x; | 
 |  |  | 
 |  |  |          xitem= li.item(s - i - 1); | 
 |  |  |          string xid = xitem.selectSingleNode(L"id").text(); | 
 |  |  |          string Name=xitem.selectSingleNode(L"name").text(); | 
 |  |  |          string image = L"15"; | 
 |  |  |          xstring image = L"15"; | 
 |  |  |          if(xitem.selectSingleNode(L"image")) image=xitem.selectSingleNode(L"image").text(); | 
 |  |  |          HTREEITEM hBeforItem = 0; | 
 |  |  |          HTREEITEM curItem=tv_menu.InsertItem(parentItem,hBeforItem,Name,(LPARAM)xid,xstring(image).toInt());		 | 
 |  |  |          string child=xitem.selectSingleNode(L"@child").text();//item.getAttribute("HasChild");	 | 
 |  |  |          HTREEITEM curItem=tv_menu.InsertItem(parentItem,hBeforItem,Name,(LPARAM)xid, xstring(image).toInt()); | 
 |  |  |          xstring child=xitem.selectSingleNode(L"@child").text();//item.getAttribute("HasChild");	 | 
 |  |  |          if ((xstring)child != L"0") | 
 |  |  |             tv_menu.SetItemChild1(curItem,1); | 
 |  |  |       } | 
 |  |  | 
 |  |  |       return 1; | 
 |  |  |    }       | 
 |  |  |  | 
 |  |  |    bool rClick(string str) | 
 |  |  |    bool rClick(xstring str) | 
 |  |  |    { | 
 |  |  |       HMENU m = CreatePopupMenu(); | 
 |  |  |       int MF_STRING = 0x00000000; | 
 |  |  | 
 |  |  |       int ret = rClick(L"收藏菜单"); | 
 |  |  |       if(ret == 1) | 
 |  |  |       { | 
 |  |  |          string id = (string)tv_menu.GetItemData(hItem); | 
 |  |  |          xstring id = (xstring)tv_menu.GetItemData(hItem); | 
 |  |  |          KXMLDOMDocument x; | 
 |  |  |          xaserverarg arg; | 
 |  |  |          arg.AddArg(L"id",id); | 
 |  |  | 
 |  |  |    int dbClick(xtreeview& tid, HTREEITEM hItem) | 
 |  |  |    { | 
 |  |  |       HCURSOR hCursor = xutil::SetCursorWait(); | 
 |  |  |       string id = (string)tid.GetItemData(hItem); | 
 |  |  |       string label = tid.GetItemLabel(hItem); | 
 |  |  |       xstring id = (string)tid.GetItemData(hItem); | 
 |  |  |       xstring label = tid.GetItemLabel(hItem); | 
 |  |  |       KXMLDOMDocument x; | 
 |  |  |       xaserverarg* arg = new xaserverarg(); | 
 |  |  |       arg->AddArg(L"id",id); | 
 |  |  | 
 |  |  |       //alert(x.xml); | 
 |  |  |        | 
 |  |  |       int nIndex =cbx_menu.FindString(label); | 
 |  |  |       if(e.selectSingleNode(L"ModuelMore") && nIndex > - 1) | 
 |  |  |       /*if (e.selectSingleNode(L"ModuelMore") && nIndex > -1) | 
 |  |  |       { | 
 |  |  |          string mo = e.selectSingleNode(L"ModuelMore").text(); | 
 |  |  |          xstring mo = e.selectSingleNode(L"ModuelMore").text(); | 
 |  |  |          if((xstring)mo != L"Y") | 
 |  |  |          { | 
 |  |  |             xstring comd = L"changesheet:"+xstring(nIndex); | 
 |  |  | 
 |  |  |             OnHideWin(); | 
 |  |  |             return 0; | 
 |  |  |          } | 
 |  |  |       } | 
 |  |  |       }*/ | 
 |  |  |  | 
 |  |  |       if(e.selectSingleNode(L"ModuelPage")) {} else return -1; | 
 |  |  |           | 
 |  |  | 
 |  |  |          for (i=0;i<s;i++) | 
 |  |  |          { | 
 |  |  |             xitem= li.item(i); | 
 |  |  |             string name = xitem.selectSingleNode(L"@name").text(); | 
 |  |  |             string value=xitem.selectSingleNode(L"@value").text(); | 
 |  |  |             xstring name = xitem.selectSingleNode(L"@name").text(); | 
 |  |  |             xstring value=xitem.selectSingleNode(L"@value").text(); | 
 |  |  |             arg->AddArg(name, value); | 
 |  |  |          } | 
 |  |  |       } | 
 |  |  | 
 |  |  |       int no = GetCurPanel(); | 
 |  |  |       xnode anode(GetAgentNode(L"mainmemu")); | 
 |  |  |       int p =0; | 
 |  |  |       string id=nullptr; | 
 |  |  |       xstring id; | 
 |  |  |       int h = cbx_panelNo.FindString(xstring(no).c_str()); | 
 |  |  |       if(h < 0) | 
 |  |  |       { | 
 |  |  | 
 |  |  |             LPARAM pa = cbx_panelName.GetItemData(i); | 
 |  |  |             if (!pa)return 1; | 
 |  |  |             KXMLDOMElement hData = pa; | 
 |  |  |             string Name= hData.selectSingleNode(L"name").text(); | 
 |  |  |             string Image = L"15"; | 
 |  |  |             xstring Name= hData.selectSingleNode(L"name").text(); | 
 |  |  |             xstring Image = L"15"; | 
 |  |  |             if(hData.selectSingleNode(L"image")) Image=hData.selectSingleNode(L"image").text(); | 
 |  |  |             xstring str = (xstring)L"<xtoolbutton image='"+Image+L"' caption='"+Name+L"' height='24' name='xmPanel:"+xstring(i).c_str() + L"' style='background-color:none #ceecce none #ffffff;text-align:left'/>"; | 
 |  |  |             if(i == no) | 
 |  |  | 
 |  |  |        | 
 |  |  |    int OnMenuAgent() | 
 |  |  |    { | 
 |  |  |       string s = L"menuAgent:Y"; | 
 |  |  |       SendMessage(m_nHwnd, 0x401, (LPARAM)s, 0); | 
 |  |  |       xstring s = L"menuAgent:Y"; | 
 |  |  |       SendMessage(m_nHwnd, 0x401, (LPARAM)s.c_str(), 0); | 
 |  |  |       OnHideWin(); | 
 |  |  |       return 1; | 
 |  |  |    } | 
 |  |  | 
 |  |  |       int ret = rClick(L"取消收藏"); | 
 |  |  |       if(ret == 1) | 
 |  |  |       { | 
 |  |  |          string id = (string)tv_menu1.GetItemData(hItem); | 
 |  |  |          xstring id = (xstring)tv_menu1.GetItemData(hItem); | 
 |  |  |          KXMLDOMDocument x; | 
 |  |  |          xaserverarg arg; | 
 |  |  |          arg.AddArg(L"id",id); | 
 |  |  | 
 |  |  |       { | 
 |  |  |          xaserverarg arg = GetArg(); | 
 |  |  |          m_nHwnd = (HWND)arg.GetParam(L"hwnd"); | 
 |  |  |          cbx_menu = (void*)arg.GetParam(L"memuId"); | 
 |  |  |          cbx_tab = (void*)arg.GetParam(L"tabNo"); | 
 |  |  |          cbx_panelNo = (void*)arg.GetParam(L"panelNo"); | 
 |  |  |          cbx_panelName = (void*)arg.GetParam(L"panelName"); | 
 |  |  |          cbx_menu = (void*)arg.GetParam(L"cbx_menu"); | 
 |  |  |          cbx_tab = (void*)arg.GetParam(L"cbx_tab"); | 
 |  |  |          cbx_panelNo = (void*)arg.GetParam(L"cbx_panelNo"); | 
 |  |  |          cbx_panelName = (void*)arg.GetParam(L"cbx_panelName"); | 
 |  |  |          xstring s = L"menuid:"+xstring((LPARAM)GetHWND()); | 
 |  |  |          SendMessage(m_nHwnd, 0x401, (LPARAM)s.c_str(), 0); | 
 |  |  |       } |