none
如何去除MFC程序的框架激活边框? RRS feed

  • 问题

  • MFC程序,处于活动状态时,四周会有一个系统边框。在黑色背景下,看的比较明显。尤其win7下,这个边框很粗。

    如下面VC在黑色背景下四周蓝色细线边框。请问如何去除这个边框?

    2019年11月8日 12:41

全部回复

  • 你好,

    感谢你在这里发帖。

    很遗憾这个问题似乎没有可选的设置来帮助你。都是在选择浅色,深色背景既定好的,设计使然。如果你确实有这方面的需求,可以通过下图的形式,提交你的需求。

    Best Regards,

    Suarez ZZhou


    如果您对Visual Studio 或Microsoft Azure相关产品感兴趣,请点击此链接,或扫描以下二维码注册获取相关信息。


    2019年11月11日 2:42
  • 这个蓝色四周线框,win10下不同主题是不用颜色的。这个颜色是MFC程序是通过什么接口获取的?我是否可以重载CMFCVisualManager改变这个线框的颜色?

    把这个颜色改成与程序主题背景色也是可以的

    2019年11月11日 5:34
  • AFX_GLOBAL_DATA()返回的数据结构里,有没有控制Mainframe的边框颜色的?
    2019年11月11日 5:39
  • 你好,

    我其实认为这个我们是改变不了的,你可以这么认为,这是Win10设置的,保证界面美化,设置边框属性的窗口周围会有一个系统颜色和一个阴影,让窗口和系统之间有点区别,呈现立体感。所以现在更改系统颜色,所有窗口的颜色也跟随着它改变了,换言之,这个颜色由Win10系统控制的,通过CMFCVisualManager这个MFC类并没有办法改变。

    但是如果没有边框属性,也就没有这个颜色了。例如底下去除边框的应用程序,就没有了所谓的颜色。这个时候再去重绘边框和标题就行了。

    Best Regards,

    Suarez Zhou


    如果您对Visual Studio 或Microsoft Azure相关产品感兴趣,请点击此链接,或扫描以下二维码注册获取相关信息。

    2019年11月11日 6:49
  • 没有边框的程序,不能缩放拖动也不理想。

    现在自绘了边框,改了颜色和粗细是可以得。但是带来一个新问题,在程序的Ribbon上,鼠标飘上去会显示系统原生的最大、最小、关闭按钮,但是原生的标题条倒是没有显示。鼠标扫过去三个系统按钮才消失。如果没有这个问题就可以了。

    导致这个问题是因为调用了SetWindowRgn,这个函数会触发一些内部动作导致了副作用。有没有说明SetWindowRgn函数背后会触发哪些消息?


    2019年11月11日 13:21
  • 你好,

    >>在程序的Ribbon上,鼠标飘上去会显示系统原生的最大、最小、关闭按钮,但是原生的标题条倒是没有显示。

    Ribbon也是一集成的框架,具体的实现细节是封装的,你如果需要实现像ribbon功能区那样的效果,不建议这么做,因为你的做法中去除了边框和标题栏,而ribbon中和标题栏还是有一部分联系的,直接删除确实可能造成你的显示不正确的效果。

    >>导致这个问题是因为调用了SetWindowRgn,这个函数会触发一些内部动作导致了副作用。有没有说明SetWindowRgn函数背后会触发哪些消息?

    此功能设置窗口的窗口区域。窗口区域确定系统允许绘图的窗口区域。其实就是设置WM_PAINT消息能影响到的区域,是不是你在WM_PAINT消息响应里也绘制了标题栏,然后本身你用的ribbon框架,鼠标放到了ribbon上,又触发了ribbon上的什么消息响应,导致显示了原生的按钮。

    Best Regards,

    Suarez Zhou


    如果您对Visual Studio 或Microsoft Azure相关产品感兴趣,请点击此链接,或扫描以下二维码注册获取相关信息。


    2019年11月13日 8:16
  • 应该是这种情况,ribbon绘制了隐藏的系统按钮。回头我查查ribbon的源码,看看怎么屏蔽掉这段绘制代码。
    2019年11月14日 14:53
  • 你好,

    请问这个问题解决了吗?如果解决了,请标记有价值的回复为答案,或者为其投票认定帖子内容有帮助。我们也欢迎你分享你自己的解决方案,并标记其为答案。如果你还没有解决这个问题,欢迎继续提问。

    Best Regards,

    Suarez Zhou


    如果您对Visual Studio 或Microsoft Azure相关产品感兴趣,请点击此链接,或扫描以下二维码注册获取相关信息。


    2019年11月26日 6:47
  • 还没有解决,在忙其它事情。过一段时间回来继续处理这个问题
    2019年11月27日 1:25