• Win7双击任务栏图标导致窗口还原的问题


    技术调查:

    Win7双击任务栏中高Cpu负荷运行的进程的图标,导致激活此进程的窗体还原事件SC_RESTORE。

    解决方案:

    我的需求要求主界面始终最大化显示,在主框架接收到SC_RESTORE消息时ShowWindow(SW_MAXIMIZE)

    void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam)
    {
        
    // win7 禁止窗体框架非客户区鼠标拖动
        switch (nID)
        {
        
    case SC_RESTORE:
        
    //    CFrameWnd::OnSysCommand(SC_MAXIMIZE, lParam);
            ShowWindow(SW_MAXIMIZE);
            
    break;
        
    case SC_MOVE:
        
    case 0xF012:
            
    return;
        
    default:
            CFrameWnd::OnSysCommand(nID, lParam);
        }
    }

    void CMainFrame::OnSize(UINT nType, int cx, int cy)
    {
        
    //if (SIZE_RESTORED == nType)
        
    //{
        
    //    ShowWindow(SW_MAXIMIZE);
        
    //    //this->MoveWindow(0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN));
        
    //    //return;
        
    //    //CFrameWnd::OnSize(SIZE_MAXIMIZED, cx, cy);
        
    //}
        
    //else
            CFrameWnd::OnSize(nType, cx, cy);    

        
    // 解决浮动窗口移动中,主框架最小化导致的浮动窗口定位错误。
        CView* pView = GetActiveView();
        
    if (pView && SIZE_MAXIMIZED == nType)
        {
            
    //RecalcLayout();
            ::SendMessageA(pView->m_hWnd, WM_SIZE, cx, cy);
        }
    }

    -----------------------------------------------------------------------

    个体与交互 胜过 过程与工具

    可以工作的软件 胜过 面面俱到的文档

    客户协作 胜过 合同谈判

    响应变化 胜过 遵循计划

    -----------------------------------------------------------------------

    软件产品研发部 李树鹏

    大连启明海通信息技术有限公司

    地址:大连市高新技术产业园区信达街57号

    手机:13942696565

    =========================
     

  • 相关阅读:
    小程序历程
    关于两个字符串用加号连接
    关于数据类型的取值范围的理解
    求最小公倍数和最大公约数
    js关于两个字符串的加减乘除运算
    a:hover + 兄弟选择器(标签选择)失效的解决方法
    ul和li标签实现列表
    小图标的使用(插入icon图标)
    水平垂直居中
    【转】JMeter学习(三十七)Jmeter录制手机app脚本
  • 原文地址:https://www.cnblogs.com/DancingFish/p/2126221.html
Copyright © 2020-2023  润新知