为什么我的应用程序的窗口在Windows 8中是灰色的,而不像其他窗口那样基于桌面?

前端之家收集整理的这篇文章主要介绍了为什么我的应用程序的窗口在Windows 8中是灰色的,而不像其他窗口那样基于桌面?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个很大的遗留应用程序,它在我们运行它的每台 Windows 8机器上都显示一个永久的灰色边框,而其他应用程序的其他窗口则准确地使用从桌面背景派生的颜色.对于我的生活,我找不到原因.

我已经尝试了我最好的google-fu来抓取MSDN for API来控制它,但是空洞了.该应用程序看起来像Windows XP,Vista和7中的所有其他应用程序……只是Windows 8是灰色的.我们肯定没有添加Win8特定代码来处理这个问题.

它只是一个外部的MFC窗口,但它内部嵌入了一个.NET / WPF组件和一个支持Direct3D 9的可视区域.

我最好的猜测是,它可能与窗口中有一个Direct3D表面有关,但我无法在任何地方验证.

任何帮助将不胜感激!

谢谢

编辑:灰色匹配没有焦点的效果,我们肯定会玩窗口焦点的游戏…所以可能是它.

问题是开发人员重载OnNcActivate()并在最后返回TRUE.他们需要调用基类(CWnd)OnNcActivate.

如果你看得足够近,这在Windows 7上也是可见的.

猜你在找的Windows相关文章