2653885 发表于 2015-5-8 14:06:19

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.iyunv.com/gnielee/archive/2010/03/08/windows7-taskbar-thumbnail-preview.html

  

源代码下载
  包含之前所有实例:
页: [1]
查看完整版本: Windows 7 任务栏开发 之 缩略图工具栏(Thumbnail Toolbar)