| | |
| | | #include "wobject/xaserver.hpp" |
| | | #include "xcontrol/xcombobox.hpp" |
| | | #include "xcontrol/xlayersheet.hpp" |
| | | #include "vbusiness/vframe/frame.vframe.vbusiness.hpp" |
| | | |
| | | |
| | | using xml = KXMLDOMDocument; |
| | | 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; //菜单树窗口句柄 |
| | | HWND m_nHwnd; //菜单树窗口句柄 |
| | | int m_cursheet; //当前页签 |
| | | int menuShow; |
| | | |
| | | HWND m_npHwnd2; //openwindow |
| | | int m_startwin; |
| | | HWND m_startwin; |
| | | |
| | | public: |
| | | vindexform(void* implPtr,HWND hWnd):xwin(implPtr,hWnd){} |
| | |
| | | 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); |
| | | } |
| | |
| | | alert(L"clicked"); |
| | | return 1; |
| | | } |
| | | |
| | | 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) |
| | | { |
| | |
| | | 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); |
| | |
| | | } |
| | | else |
| | | { |
| | | m_hMenu = hMenu; |
| | | m_hMenu = (HWND)hMenu.toInt64(); |
| | | } |
| | | |
| | | xrect xr; |
| | |
| | | OnMenu(NULL); |
| | | } |
| | | menuShow = -1 - isshow; |
| | | xcombobox::SetCurSel(memuId.GetHWND(), menuShow); |
| | | cbx_menu.SetCurSel(menuShow); |
| | | if (f != L"") |
| | | setHomeConfig(L"menuposition", xstring(menuShow)); |
| | | return 1; |
| | |
| | | |
| | | 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") |
| | |
| | | OnMenuAgent(L""); |
| | | } |
| | | |
| | | |
| | | xaserverarg arg; |
| | | |
| | | HWND h = GetHWND(); |
| | |
| | | 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) |
| | | { |
| | | //mainsheet.DeleteSheet(hItem - 1); |
| | | SendMessage(GetHWND(), 0x401, L"xmSheetClose", 0); |
| | | SendMessage(GetHWND(), 0x401, (WPARAM)L"xmSheetClose", 0); |
| | | hItem = mainsheet.GetSheetCount(); |
| | | } |
| | | |
| | |
| | | if (m_Assignment == L"") |
| | | alert(L"获取用户数据失败,请重新登录!"); |
| | | else |
| | | xaserver::SetUID(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"正在初始化系统,请稍候...."); |
| | |
| | | xstring sInfo = m_Assignment; |
| | | if (s > 0) |
| | | { |
| | | HMENU m = xwin::CreatePopupMenu(); |
| | | HMENU m = CreatePopupMenu(); |
| | | int MF_STRING = 0x00000000; |
| | | int MF_DISABLED = 0x00000002; |
| | | int TPM_RIGHTBUTTON = 0x0002; |
| | |
| | | xstring id = xitem.selectSingleNode(L"AssignmentID").text(); |
| | | xstring name = xitem.selectSingleNode(L"PositionName").text(); |
| | | if (sInfo == id) |
| | | xwin::AppendMenu(m, MF_STRING | MF_CHECKED, i + 1, name); |
| | | AppendMenu(m, MF_STRING | MF_CHECKED, i + 1, name); |
| | | else |
| | | xwin::AppendMenu(m, MF_STRING, i + 1, name); |
| | | AppendMenu(m, MF_STRING, i + 1, name); |
| | | } |
| | | xrect xr; |
| | | RECT xr; |
| | | xpoint pt; |
| | | GetCursorPos(pt); |
| | | int res = TrackPopupMenu(m, TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, GetHWND(), xr); |
| | | int res = TrackPopupMenu(m, TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, GetHWND(), &xr); |
| | | if (res == 0) return 0; |
| | | KXMLDOMElement ele = li.item(res - 1); |
| | | xstring sInfoEx = ele.selectSingleNode(L"AssignmentID").text(); |
| | |
| | | |
| | | int OnAllCaption() |
| | | { |
| | | int m = xwin::CreatePopupMenu(); |
| | | HMENU m = CreatePopupMenu(); |
| | | int MF_STRING = 0x00000000; |
| | | int MF_DISABLED = 0x00000002; |
| | | int TPM_RIGHTBUTTON = 0x0002; |
| | |
| | | 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) |
| | | xwin::AppendMenu(m, MF_STRING | MF_CHECKED, i + 1, str); |
| | | AppendMenu(m, MF_STRING | MF_CHECKED, i + 1, str); |
| | | else |
| | | xwin::AppendMenu(m, MF_STRING, i + 1, str); |
| | | AppendMenu(m, MF_STRING, i + 1, str); |
| | | } |
| | | xrect xr; |
| | | RECT xr; |
| | | xpoint pt; |
| | | GetCursorPos(pt); |
| | | int res = xwin::TrackPopupMenu(m, TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, GetHWND(), xr); |
| | | int res = TrackPopupMenu(m, TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, GetHWND(), &xr); |
| | | if (res == 0) return 0; |
| | | int nSheet = mainsheet.GetSheetIndex(); |
| | | if (nSheet == (res - 1)) return 0; |
| | |
| | | } |
| | | return 1; |
| | | } |
| | | |
| | | #if 0 |
| | | int OnOpen(xstring pa) |
| | | { |
| | | //xwin::SendMessage(m_npHwnd2, 0x401, pa, 0); |
| | |
| | | return 1; |
| | | }*/ |
| | | |
| | | int p = pa.toInt(); |
| | | xaserverarg arg ; |
| | | |
| | | xstring isnew = arg.GetArgString(L"_isNewModule"); |
| | | xstring vx = arg.GetArgString(L"_ModuelPage"); |
| | | if (isnew == L"Y") |
| | | { |
| | | if (vx.find(L".vx", 0) > 0 || vx.find(L".xpage", 0) > 0) |
| | | OpenWindow(L"dev:xpage[" + vx + L"]", p); |
| | | OpenWindow(L"dev:xpage[" + vx + L"]", arg); |
| | | else |
| | | openUrl(vx, p); |
| | | return 1; |
| | | } |
| | | OpenWindow(L"dev:xpage[vindexforold.vx]", p); |
| | | //OpenWindow(L"dev:xpage[vindexforold.vx]", p); |
| | | return 1; |
| | | } |
| | | |
| | | int OnOpenForOld(xstring pa) |
| | | { |
| | | m_npHwnd2 = pa.toInt(); |
| | |
| | | ShowWindow(m_npHwnd2, SW_MAXIMIZE); |
| | | return 1; |
| | | } |
| | | |
| | | #endif |
| | | int OnHelp() |
| | | { |
| | | OpenWindow(L"dev:xpage[trade.help3.vx]"); |
| | |
| | | |
| | | 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())); |
| | | else if (comdid.find(L"open:", 0) >= 0) OnOpen(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())); |
| | | //else if (comdid.find(L"open:", 0) >= 0) OnOpen(comdid.mid(comdid.find(L":", 0) + 1, comdid.length())); |
| | | else if (comdid == L"xmRefreshTask") |
| | | { |
| | | SendMessage(m_startwin, 0x401, comdid, 0); |
| | | SendMessage(m_startwin, 0x401, (WPARAM)comdid.c_str(), 0); |
| | | return 1; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | |
| | | 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()); |
| | | } |
| | | |
| | | if (cursheet != mainsheet.GetSheetIndex()) |
| | | { |
| | | int hPicture = xwin::FindWindowEx(0, 0, L"XFrameWndClass", L"__ProductPicture"); |
| | | if (hPicture > 0) |
| | | HWND hPicture = FindWindowEx(0, 0, L"XFrameWndClass", L"__ProductPicture"); |
| | | if (hPicture) |
| | | { |
| | | int WM_CLOSE = 0x0010; |
| | | PostMessage(hPicture, WM_CLOSE, 0, 0); |
| | |
| | | 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; |
| | | } |
| | | |