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

 

源代码下载

包含之前所有实例:

作者:李敬然(Gnie)
出处:{GnieTech} (http://www.cnblogs.com/gnielee/)
版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。
posted @ 2010-03-13 21:50 Gnie 阅读(2343) 评论(17) 编辑 收藏

 回复 引用 查看   
#1楼 2010-03-13 22:00 GQone      
@Gnie
这篇文章发的好慢啊,还以为没下文了呢
不过还是支持一下!

 回复 引用 查看   
#2楼 2010-03-13 22:05 Create Chen      
看了几篇你写的任务栏的一些设计
我想请教, 在这方面, 你看得是哪些书?

 回复 引用 查看   
#3楼[楼主] 2010-03-13 22:06 Gnie      
@GQone
呵呵,是啊最近时间紧了点:)

 回复 引用 查看   
#4楼 2010-03-13 22:09 一线风      
说实话,我最想取消的就是这个缩放图了,特别是Maxthon的。可是取消不了~
 回复 引用 查看   
#5楼[楼主] 2010-03-13 22:11 Gnie      
@Create Chen
其实几乎为零,都是从四面八方搜集过来的资料聚合在一起,写了些个人使用感受,你可以参考我每篇下方的地址,都是我看过和搜集的资料。
如果你想看书的话可以看看《Introducing Windows 7 for Developers》,但资源相对还是很少,因为这本书毕竟才400多页。

 回复 引用 查看   
#6楼 2010-03-13 22:20 Blink182      
这个都行
 回复 引用 查看   
#7楼[楼主] 2010-03-13 22:21 Gnie      
@一线风
其实我个人感觉这个缩略图功能也不是在任何软件或任何情况下都好用,但它的确比XP时代方便了很多,尤其是打开n个Word的时候。

 回复 引用 查看   
#8楼 2010-03-13 22:40 Motto      
引用一线风:说实话,我最想取消的就是这个缩放图了,特别是Maxthon的。可是取消不了~

话说这个是Windows 7的一个卖点啊!

LZ加油,赞一个~~~

 回复 引用 查看   
#9楼[楼主] 2010-03-13 22:46 Gnie      
@Motto
多谢支持!

 回复 引用 查看   
#10楼 2010-03-13 23:51 Create Chen      
@Gnie
看了一下. 赞一个,楼主研究颇多.

 回复 引用 查看   
#11楼[楼主] 2010-03-14 00:05 Gnie      
@Create Chen
共同学习吧

 回复 引用 查看   
#12楼 2010-03-14 10:55 sohighthesky      
lz是不想让人订阅你的博客?怎么把订阅按钮隐藏了
 回复 引用 查看   
#13楼[楼主] 2010-03-14 11:38 Gnie      
@sohighthesky
现在好了

 回复 引用 查看   
#14楼 2010-03-14 11:39 sohighthesky      
@Gnie
早都订阅了,

 回复 引用 查看   
#15楼[楼主] 2010-03-14 11:55 Gnie      
引用sohighthesky:
@Gnie
早都订阅了,

:)

 回复 引用 查看   
#16楼 2011-04-01 11:25 骑驴过赵桥      
楼主你好,向你请教一下,我在VS2008下用WPF实现了一个类似ToolTip的东西,想在ToolTip上加Button,没思路,由于条件限制,不能在Win7下使用WPF4这样的环境,不知你能不能给我点建议或者思路,谢谢!
 回复 引用 查看   
#17楼[楼主] 2011-04-01 11:37 Gnie      
@骑驴过赵桥
你说的是这种tooltip吗
http://www.wpftutorial.net/ToolTip.html

发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1685264 35U5UR37cQQ=
Copyright © 2010 Gnie