0

如何在客户端 Windows 应用程序中实现非模态滑动通知栏,例如 Firefox、Beyond Compare 和 VMware Workstation 6.5 使用?

目前任何语言或框架都可以;我当前的应用程序在 Delphi / C++Builder 中,但我也对比较框架和原型化一些 UI 感兴趣。

相关问题:这个问题询问如何在 Java 中这样做。

4

2 回答 2

1

Beyond Compare 的通知栏不会滑动,它只是弹开,所以我无法提供任何帮助。通知栏本身只是一个带有 TImage 和 TLabel 图像/文本的 TPanel。它在设计时放置在主窗口上,并设置为底部对齐。通常它是隐藏的,当有消息要显示时,我们将 Visible 属性设置为 true。

隐藏通知的方法有多种,具体取决于您希望它的行为方式。在 BC 中,我们安装了键盘和鼠标挂钩(SetWindowsHookEx 与 WH_KEYBOARD 或 WH_MOUSE)并将其隐藏在按键和鼠标按钮事件中。或者,就像 Mark 说的那样,您可以在延迟后将其隐藏,在侧面添加一个关闭按钮,或者只是观察您的应用程序中的特定事件,然后手动隐藏它。

于 2009-06-12T21:48:36.097 回答
0

在 Delphi 中,我相信您可以更改对话框本身的属性(将窗口类型从“对话框”更改为标准窗口选项)。抱歉,我不能更具体,距离我上次开发 Delphi 应用程序已经过去了大约两年。

于 2009-06-09T21:22:39.440 回答