Delphi 向弹出任务栏窗口添加功能

Delphi 向弹出任务栏窗口添加功能,delphi,taskbar,delphi-5,Delphi,Taskbar,Delphi 5,不知道该如何表达,但win7/win8允许固定到任务栏。当一个应用程序正在运行时,你将鼠标悬停,会弹出一个窗口,显示minature应用程序屏幕 使用winamp和MP3文件播放,而不是显示应用程序窗体,它会弹出带有小导航条的窗口,允许暂停、快进等播放 我想对我的应用程序做类似的操作,不暂停任何操作,但我想通过几个按钮向弹出窗口添加一些工作功能 我该怎么做呢?您描述的大多数事情(包括预览窗口上的按钮)都是使用Windows 7及更高版本中的COM界面完成的 有一个问题是关于;这两个答案目前有一些

不知道该如何表达,但win7/win8允许固定到任务栏。当一个应用程序正在运行时,你将鼠标悬停,会弹出一个窗口,显示minature应用程序屏幕

使用winamp和MP3文件播放,而不是显示应用程序窗体,它会弹出带有小导航条的窗口,允许暂停、快进等播放

我想对我的应用程序做类似的操作,不暂停任何操作,但我想通过几个按钮向弹出窗口添加一些工作功能


我该怎么做呢?

您描述的大多数事情(包括预览窗口上的按钮)都是使用Windows 7及更高版本中的COM界面完成的

有一个问题是关于;这两个答案目前有一些相关链接,包括一些示例和开源Delphi组件。注意,对于您来说,使用这样一个旧版本的Delphi来实现这一点可能要困难得多;较新版本的RTL中已经有了可供您使用的定义和类型,这些定义和类型大大简化了COM的使用

正如Remy在评论中指出的,XE6包含了一个新的VCL组件(请参见注释),这使得添加这些按钮变得非常简单。您只需在表单上放置一个组件,使用TTaskbar.TaskbarButtons属性编辑器添加按钮,为每个按钮指定一个战术和图标,就完成了


注意:TTaskbar文档链接目前没有任何有意义的内容,因为该组件位于最新发布的XE6(本周发布)中。我添加它作为未来读者的参考点;希望当他们看到它时,链接会有一些有用的细节。

您描述的大部分内容(包括预览窗口上的按钮)都是使用Windows 7及更高版本中的COM界面完成的

有一个问题是关于;这两个答案目前有一些相关链接,包括一些示例和开源Delphi组件。注意,对于您来说,使用这样一个旧版本的Delphi来实现这一点可能要困难得多;较新版本的RTL中已经有了可供您使用的定义和类型,这些定义和类型大大简化了COM的使用

正如Remy在评论中指出的,XE6包含了一个新的VCL组件(请参见注释),这使得添加这些按钮变得非常简单。您只需在表单上放置一个组件,使用TTaskbar.TaskbarButtons属性编辑器添加按钮,为每个按钮指定一个战术和图标,就完成了


注意:TTaskbar文档链接目前没有任何有意义的内容,因为该组件位于最新发布的XE6(本周发布)中。我添加它作为未来读者的参考点;希望在他们看到它的时候,该链接会有一些有用的细节。

(向后)。然后在这里查看更广泛的概述:(向后)。然后在这里查看更广泛的概述:新发布的XE6甚至为Win7+任务栏功能提供了新的包装器组件。不过,在旧的Delphi版本中实现它并不难(我曾经在C++Builder 6项目中实现过它)。@Remy:谢谢您的编辑。我看到它包含在XE6中,但还没有机会进行调查。我自己在D2007中也做过,包括在XP(当然是在EOL之前)和Win7中使用同一个应用程序的能力,如果它们存在的话,可以使用ITaskbarList3接口。这还不错,但D5已经过时了。新发布的XE6甚至为Win7+任务栏功能提供了新的包装组件。不过,在旧的Delphi版本中实现它并不难(我曾经在C++Builder 6项目中实现过它)。@Remy:谢谢您的编辑。我看到它包含在XE6中,但还没有机会进行调查。我自己在D2007中也做过,包括在XP(当然是在EOL之前)和Win7中使用同一个应用程序的能力,如果它们存在的话,可以使用ITaskbarList3接口。还不错,但D5已经过时了。