任务栏的一系列操作
来源:互联网 发布:传奇霸业炼体数据表格 编辑:程序博客网 时间:2024/04/29 09:30
头文件内添加成员变量ITaskbarList3* pTaskbar;CoInitialize(0);//初始化COM组件,用于支持任务栏显示进度。CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pTaskbar));=========== 显示进度 =================================================================pTaskbar->SetProgressState(this->GetSafeHwnd(), TBPF_INDETERMINATE);pTaskbar->SetProgressValue(this->GetSafeHwnd(), cur, tol); //cur代表当前位置,tol代表总长度注: 颜色参数 //TBPF_NORMAL、TBPF_INDETERMINATE、TBPF_NOPROGRESS------蓝色//TBPF_ERROR------ - 红色//TBPF_PAUSED------黄色========== 设置提示信息 =======================================================pTaskbar->SetThumbnailTooltip(this->GetSafeHwnd(), TEXT("Some information"));========== 添加覆盖图标 ===========================================================HICON hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);pTaskbar->SetOverlayIcon(this->GetSafeHwnd(), hIcon, _T("TIPS"));========= 设置任务栏预览的区域 ===================================================RECT rc = { 200,100,300,200 }; //此处设置一个rect结构,代表客户区的一块区间pTaskbar->SetThumbnailClip(this->GetSafeHwnd(),&rc); //显示客户区的那一块区间=========设置任务栏添加按钮(类似qq音乐)=====================================HICON hIcon2 = AfxGetApp()->LoadIcon(IDI_ICON2); //导入按钮图片HICON hIcon3 = AfxGetApp()->LoadIcon(IDI_ICON3);THUMBBUTTONMASK dwMask = THB_ICON | THB_TOOLTIP;THUMBBUTTON thbButtons[2];thbButtons[0].dwMask = dwMask;thbButtons[0].iId = 0;thbButtons[0].hIcon = hIcon3;memcpy(thbButtons[0].szTip, TEXT("上一曲"), sizeof(thbButtons[0].szTip)); //设置提示信息thbButtons[1].dwMask = dwMask;thbButtons[1].iId = 1;thbButtons[1].hIcon = hIcon2;memcpy(thbButtons[1].szTip, TEXT("下一曲"), sizeof(thbButtons[1].szTip));pTaskbar->ThumbBarAddButtons(this->GetSafeHwnd(), ARRAYSIZE(thbButtons), thbButtons);由于点击会发送WM_COMMAND消息,所以 重写OnCommand,其中wParam 的高位为THBN_CLICKED ,低位是按钮的id(由参数 iId 设置 )。添加代码:if (HIWORD(wParam) == THBN_CLICKED){OnThumbnailButtonClicked(LOWORD(wParam)); //自己添加函数return TRUE;}设置按钮点击消息处理函数void CMFCApplication1Dlg::OnThumbnailButtonClicked(int id){switch (id){case 0:AfxMessageBox(_T("Left"));break;case 1:AfxMessageBox(_T("Right"));break;}}========= 新的选项卡/窗口 显示在任务栏中===========================================//注册句柄,参数一为要注册的句柄,参数二为主窗口句柄if (pTaskbar->RegisterTab(dlg->GetSafeHwnd(), this->GetSafeHwnd()) != S_OK)AfxMessageBox(_T("Register Error"));// 显示在任务栏中窗口,必须要通过先注册if(pTaskbar->SetTabOrder(dlg->GetSafeHwnd(), this->GetSafeHwnd())!=S_OK)AfxMessageBox(_T("Show Error"));
注:如果出现某个未定义 添加头文件
#include <commctrl.h>
#include <Shobjidl.h>
因为MSDN上用了这两个头文件 但是我没有添加一样可以使用....
0 0
- 任务栏的一系列操作
- 一系列的IO操作
- 单链表的一系列操作
- git 的一系列操作
- 二维码的一系列操作
- 对任务栏的操作
- 字符串(String)的一系列操作
- 字符串(Sring)的一系列操作
- 文件操作的一系列方法
- 链表的一系列操作
- java 日期的一系列操作
- java 日期的一系列操作
- 树状数组的一系列操作
- 数据结构栈的一系列操作
- 操作 Windows7 任务栏的快捷方式
- C#对Word的一系列操作
- SQL Server2005中外键的一系列操作
- SQL对数据库进行的一系列操作
- Linux power supply framwork & drv (2) —— qcom
- git命令的使用
- React-Native ListView学习
- angularjs 页面自适应高度
- java连接telnet进行操作
- 任务栏的一系列操作
- Handler的简单用法
- 开启Netezza 女王不寻常之路
- java.lang.IllegalStateException: Recursive entry to executePendingTransactio
- CPU阿甘:函数调用的秘密
- oracle 密码不过期&用不锁定
- opencv中有关内存释放的一些问题
- python爬虫(中)--多进程和多线程
- iOS中自动消失提示框的实现