xj qian
2024-07-02 fdc74212bd037bd5ae9ab1d2d9612c7bf3c1cb94
update menuid
已修改1个文件
57 ■■■■■ 文件已修改
jrj/project/vindexform.cpp 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/vindexform.cpp
@@ -99,7 +99,58 @@
        alert(L"clicked");
        return 1;
    }
    int OnMenu(xstring hMenu)
    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 OnMenu1(xstring hMenu)
    {
        if (!hMenu)
        {
@@ -460,9 +511,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()));