zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    Android进阶之关闭所有activty
    弹出窗口插件欣赏
    关于之前放在google 的资源不能下载的解决方案
    图片垂直居中的使用技巧
    关于采用业务用例视图来展示、归纳、整理业务用例的三点指导原则
    操作系统引导的那点事
    可视化拾色器
    AE中删除属性字段
    AE中添加属性字段
    vs2005c#中用户组件在工具箱中不能自动出现的解决办法
  • 原文地址:https://www.cnblogs.com/DancingFish/p/2126221.html
Copyright © 2011-2022 走看看