65.9K
CodeProject 正在变化。 阅读更多。
Home

任务栏进度条控件

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.14/5 (22投票s)

2005年10月14日

2分钟阅读

viewsIcon

261967

downloadIcon

3993

如何在任务栏中放置一个进度条控件。

引言

本文介绍了如何将进度条控件放入任务栏。

Sample screenshot

Sample screenshot

它是如何工作的?

首先,我们需要创建进度条控件的一个实例。进度条控件将自动附加到任务栏。在启动时,程序会搜索三个特定的HWnd。这些是Shell_TrayWndReBarWindow32TrayNotifyWnd。程序任务、快捷栏等都包含在此窗口中,使用的是ReBarWindow32类。ReBarWindow32直接放置在TrayNotifyWnd窗口旁边。现在我们需要做的就是使用方法Create创建进度条,但我们不将其添加到主窗口,而是将其添加到任务栏。一个重要的事实是,控件需要自己的消息映射,否则由于我们在任务栏中单击控件时的消息处理,您将获得 100% 的 CPU 使用率。

事实

  • 进度条控件直接附加到任务栏。当您启用了 Windows 任务栏的“自动隐藏”选项时,控件会随其移动。
  • 当我们需要时,我们需要更新控件
    • 将图标添加到托盘通知栏中。
    • 将任务栏从水平更改为垂直,反之亦然。
    • * 等等..
  • 要更新控件,此时我们需要一个计时器(我还没有找到一种广播消息)。
  • 控件的父窗口是任务栏的Shell_TrayWnd

使用的其他类

  • 由 Chris Maunder 编写的CTextProgressCtrl

它在哪里工作?

它经过测试

  • WinXP
  • Win2000 专业版
  • Win2003 服务器版

使用此程序/源代码的风险由您自担。本程序的作者不对本程序对您或其他计算机造成的任何损害负责。

许可证

本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。

作者可能使用的许可证列表可以在此处找到。

© . All rights reserved.