上一篇 我们为应用程序设置了自定义的缩略图,本篇我们将继续在缩略图中进行开发,为其添加工具栏(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

源代码下载

包含之前所有实例: