vista、win7厚边框问题解决办法

转载 2013年12月04日 13:29:40

直接上代码:

 int CDBFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 
    {
        if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
            return -1;
    
        ModifyStyle(WS_CAPTION, 0);    //没有这行,最大化的时候有窗口边缘8像素的被截掉了
    
        HINSTANCE hInst = LoadLibrary(_T("UxTheme.dll"));
        if (hInst)
        {
            typedef HRESULT (WINAPI *PFUN_SetWindowTheme)(HWND, LPCWSTR, LPCWSTR);
            
            PFUN_SetWindowTheme pFun = (PFUN_SetWindowTheme)GetProcAddress(hInst, "SetWindowTheme");
    
            if (pFun)
                pFun(GetSafeHwnd(), L"", L"");        //去掉xp主题
    
            FreeLibrary(hInst);
        }
    
        hInst = LoadLibrary(_T("dwmapi.dll"));
        if (hInst)
        {
            typedef HRESULT (WINAPI * TmpFun)(HWND,DWORD,LPCVOID,DWORD);
            TmpFun DwmSetWindowAttributeEX = (TmpFun)::GetProcAddress(hInst, "DwmSetWindowAttribute");
            
            if (DwmSetWindowAttributeEX)
            {
                DWORD dwAttr = 1;
                DwmSetWindowAttributeEX(GetSafeHwnd(), 2, &dwAttr, 4);    //去掉vista特效
            }
    
            FreeLibrary(hInst);
        }
    } 

 

    BOOL CDBFrame::OnNcActivate( BOOL bActive )        //避免每次激活时vista重画边框
    {
        return TRUE;
    }


 

 

相关文章推荐

Win7与XP共享打印机问题解决办法

  • 2014年10月15日 15:57
  • 1.04MB
  • 下载

Win7安装Ubuntu16.04双系统时候不显示分配出来的空闲空间或者显示不可用问题解决办法

今天装Win7+Ubuntu16.04(14.04也试着装了,也是一样的问题)双系统的时候碰到了这个问题。最开始是不显示我在win7下分出来的空闲空间,之后各种查资料,乱整一通,又显示不可用: ...

MATLAB_win7兼容问题解决办法

  • 2011年05月30日 20:35
  • 69KB
  • 下载

WIN7系统访问共享打印机脱机问题解决办法

首先点击控制面板 弹出“控制面板”窗口,查看方式切换到:类别,点击“用户账户和家庭安全”链接 弹出“凭证管理器”窗口,点击“添加WINDOWS凭证”链接 添加完凭证后,让我们回到...

server responded “Algorithm negotiation failes” 报错问题解决办法,win7+ubuntu16.04

server responded “Algorithm negotiation failes” 报错问题解决办法,win7+ubuntu16.04
  • wyx100
  • wyx100
  • 2016年07月31日 16:02
  • 6990

win7/win8 64位系统注册TeeChart8.ocx 控件---以及dllregisterserver调用失败问题解决办法

TeeChart控件就不多介绍了,很多朋友不知道开始怎么注册使用,尤其是在64位系统下如何注册的问题,具体如下: win7、win8  64位系统问题所在: 64位的系统一般都是可以安装32位程序...
  • Geek___
  • Geek___
  • 2015年04月05日 13:29
  • 5330
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vista、win7厚边框问题解决办法
举报原因:
原因补充:

(最多只允许输入30个字)