显示如何将按钮/菜单添加到Vista窗口框架(如Opera / Firefox 4)的玻璃部分的示例

时间:2010-06-25 18:19:59

标签: c++ windows visual-c++ winapi menu

我想在使用WTL和Win32 ++的C ++应用程序中向框架的玻璃部分添加一个菜单。那些库可能很大程度上是因为这是我需要从Win32做的事情。

最新版本的Opera和即将推出的Firefox将会这样做,但我找不到代码示例。有没有人有可以分享他们可以分享的玻璃控件的例子?我想一个按钮和类似东西的例子是我可以使用的东西。

我用WinSpy进行了一些挖掘,但是我无法确定Opera正在使用的确切控件。

我的目标是Windows Vista和7。

Opera示例: alt text

在Firefox 4 proposal中显示菜单的示例(请点击YouTube演示文稿中的更多链接: alt text

1 个答案:

答案 0 :(得分:0)

WPF blog包含有关在非客户端玻璃上绘画的详细信息。请查看“Office 2007 with Aero - 在NC区域绘制玻璃”部分了解详细信息;这是一个非常漂亮的工具包。

基本上,做自己的窗框。使用WM_NCCALCSIZE向Windows说明实际的帧尺寸,然后使用您喜欢的任何额外控件绘制自己的假标题栏。通过重新实现WM_NCHITTEST处理程序来挂起“窗口控件”。