我想在使用 WTL 和 Win32++ 的 C++ 应用程序中将菜单添加到框架的玻璃部分。这些库可能主要是因为这是我需要从 Win32 做的事情。
最新版本的 Opera 和即将推出的 Firefox 将执行此操作,但我无法找到代码示例。有没有人有将控件添加到他们可以共享的玻璃的示例?我想我可以使用一个按钮示例和类似的东西。
我用 WinSpy 做了一些挖掘,但我无法计算出 Opera 使用的确切控件。
我只针对 Windows Vista 和 7。
歌剧示例:
在 Firefox 4 中显示菜单的示例 proposal (在他们的 YouTube 演示文稿中点击链接了解更多信息:
(来源:faaborg at people.mozilla.com)
最佳答案
这WPF blog包含有关在非客户玻璃上绘画的详细信息。查看“带有 Aero 的 Office 2007 - 在带玻璃的 NC 区域绘图”部分了解详细信息;它与工具包无关。
基本上,自己做窗框。使用 WM_NCCALCSIZE 欺骗 Windows 关于实际框架尺寸,然后使用您喜欢的任何额外控件绘制您自己的假标题栏。通过重新实现 WM_NCHITTEST 处理程序来连接“窗口控件”。
关于c++ - 显示如何向 Opera/Firefox 4 等 Vista 窗框的玻璃部分添加按钮/菜单的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3120408/