Windows API Code Pack开发指南

在本文中,将从开发者的角度探讨如何使用Windows APICode Pack for Microsoft.NET Framework来开发应用程序。这个库提供了源代码,使得开发者可以通过托管代码访问Windows 7的新特性以及旧版Windows操作系统的一些现有特性。这些特性在.NET Framework中并不直接可用。

首先,将分析ThumbnailToolbarButton的实现。ThumbnailToolbarButton是Windows任务栏缩略图工具栏上的一个按钮,可以用来实现前进、后退、播放等功能。

创建ThumbnailToolbarButton

以下是使用C#创建ThumbnailToolbarButton的示例代码:

ThumbnailToolbarButton buttonPrevious = new ThumbnailToolbarButton(Properties.Resources.prevArrow, "Previous"); buttonPrevious.Enabled = false; buttonPrevious.Click += new EventHandler(buttonPrevious_Click); ThumbnailToolbarButton buttonNext = new ThumbnailToolbarButton(Properties.Resources.nextArrow, "Next"); buttonNext.Enabled = false; buttonNext.Click += new EventHandler(buttonNext_Click); ThumbnailToolbarButton buttonPlay = new ThumbnailToolbarButton(Properties.Resources.play, "Play"); buttonPlay.Click += new EventHandler(buttonPlay_Click);

上述代码创建了三个按钮:上一个、下一个和播放。每个按钮都绑定了相应的事件处理程序。

将按钮添加到TabbedThumbnail

接下来,需要将这些按钮添加到TabbedThumbnail中。以下是C#的示例代码:

TaskbarManager.Instance.ThumbnailToolbars.AddButtons(new WindowInteropHelper(this).Handle, buttonPrevious, buttonPlay, buttonNext);

这段代码将按钮添加到当前窗口的任务栏缩略图工具栏中。

还有一些其他属性需要注意:

  • IsInteractive:非交互式按钮不会显示悬停行为,也不会触发点击事件。它们通常用作状态图标。这与禁用按钮类似,但图像不会失真。
  • DismissOnClick:如果设置为true,任务栏按钮的弹出窗口会在点击后立即关闭。默认值为true。
  • Enabled:如果按钮被禁用,它仍然存在,但会有视觉状态表明它不会响应用户操作。默认值为true。

未来将看到更多此类集成,例如Web浏览器的前进/后退导航集成、媒体播放器的播放/下一个/上一个等。

if (TaskbarManager.IsPlatformSupported) { // ... }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485