Skip to content

任务栏

基于 ITaskbarList3,提供进度条、角标、闪烁、缩略图等高级任务栏能力。API 同时挂在 AppWindow 上。

进度条状态

任务栏图标上叠加进度:

cpp
win->setProgress(0.5);                  // 0.0 ~ 1.0
win->setProgressState(ProgressState::Normal);    // 进度条
win->setProgressState(ProgressState::Error);     // 红色(出错)
win->setProgressState(ProgressState::Paused);    // 黄色(暂停)
win->setProgressState(ProgressState::Indeterminate); // 不定循环
win->setProgressState(ProgressState::None);      // 清除

典型场景:长任务下载/处理时反馈进度。

闪烁

任务栏按钮闪烁吸引注意(窗口非前台时):

cpp
win->flashFrame(true);    // 开始闪
win->flashFrame(false);   // 停

角标(Badge)

任务栏图标上叠数字角标(如未读数):

cpp
win->setBadge(3);    // 显示 "3"
win->setBadge(0);    // 清除

实现注记

ITaskbarList3 无原生文字角标,框架用动态生成位图模拟。

缩略图裁剪

自定义任务栏悬停预览里显示窗口哪一区域:

cpp
win->setThumbnailClip({0, 0, 400, 300});   // 只预览左上 400x300

用于在任务栏预览里聚焦视频画面等。

缩略图工具栏

任务栏悬停预览下方加按钮(媒体播放器风格):

cpp
win->setThumbnailToolbar({
    {ThumbnailBtn::Play,   L"播放", []{ /* */ }},
    {ThumbnailBtn::Pause,  L"暂停", []{ /* */ }},
    {ThumbnailBtn::Next,   L"下一首", []{ /* */ }},
});

显隐

cpp
win->setSkipTaskbar(true);    // 不在任务栏显示(纯托盘应用)

下一步