Windows 7 任务栏开发 之 缩略图工具栏(Thumbnail Toolbar)

       上一篇我们为应用程序设置了自定义的缩略图,本篇我们将继续在缩略图中进行开发,为其添加工具栏(Toolbar)。在使用Windows Media Player(WMP)的时候,将鼠标放置在WMP 图标上方时会出现缩略图工具栏,其中包括“播放”、“下一首”和“前一首”三个功能键,即使WMP 不是当前活动窗口我们也可以通过该工具栏选择歌曲。下面我们就来制作一个具有切换图片功能的工具栏。

 

 

ThumbnailButton.ThumbnailToolbarButton 方法

       在制作工具栏前先通过ThumbnailToolbarButton(Icon icon, string tooltip) 方法创建四个功能按钮:“Next Image”,“Previous Image”,“Last Image”,“First Image” 并为它们增加各自的Click 事件(例如,buttonFirst_Click)用来完成图片切换功能,然后再将这些按钮放到工具栏中。

ThumbnailToolbarButton buttonFirst = new ThumbnailToolbarButton(
Win7TaskbarDemo.Properties.Resources.First, "First Image"); buttonFirst.Enabled = true; buttonFirst.Click += buttonFirst_Click; ThumbnailToolbarButton buttonPrevious = new ThumbnailToolbarButton(
Win7TaskbarDemo.Properties.Resources.Previous, "Previous Image"); buttonPrevious.Enabled = true; buttonPrevious.Click += buttonPrevious_Click; ThumbnailToolbarButton buttonNext = new ThumbnailToolbarButton(
Win7TaskbarDemo.Properties.Resources.Next, "Next Image"); buttonPrevious.Enabled = true; buttonNext.Click += buttonNext_Click; ThumbnailToolbarButton buttonLast = new ThumbnailToolbarButton(
Win7TaskbarDemo.Properties.Resources.Last, "Last Image"); buttonPrevious.Enabled = true; buttonLast.Click += buttonLast_Click;

 

ThumbnailToolbarManager.AddButtons 方法

AddButtons 方法参考:

public void AddButtons(IntPtr windowHandle, params ThumbnailToolbarButton[] buttons);
public void AddButtons(UIElement control, params ThumbnailToolbarButton[] buttons);

 

将四个按钮放入工具栏中,注意按钮的前后顺序:

TaskbarManager.Instance.ThumbnailToolbars.AddButtons(
                new WindowInteropHelper(Application.Current.MainWindow).Handle,
                buttonFirst, buttonPrevious, buttonNext, buttonLast);

 

效果演示

       如下图所示,应用程序本身的功能是:“选择ListBox 中的图片后,同步更新ListBox 上方的放大图片。” 如果将鼠标置于任务栏图标上方,便可看到我们刚刚制作的缩略图工具栏,可通过里面的四个功能按钮切换ListBox 中的图片以达到与程序一样的功能效果。

 

相关参考资料

1. Windows API Code Pack for .NET Framework
http://code.msdn.microsoft.com/WindowsAPICodePack
2. Thumbnail Toolbars
http://msdn.microsoft.com/en-us/library/dd378460(VS.85).aspx#thumbbars
3. Windows 7 任务栏开发 之 缩略图预览(Thumbnail)
http://www.cnblogs.com/gnielee/archive/2010/03/08/windows7-taskbar-thumbnail-preview.html

 

源代码下载

包含之前所有实例:

posted @   Gnie  阅读(6293)  评论(17编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
Copyright © 2010 Gnie
点击右上角即可分享
微信分享提示