今天我有另一个关于 Windows 7 中的新功能的具体问题,称为缩略图工具栏或 Aero Peek 工具栏,如果有人愿意这样称呼它的话。我已经能够为我的应用程序创建一组新的工具栏按钮,每个按钮都有其独特的图标和行为但是我无法为新按钮添加功能,因为新的 THUMBUTTON 结构没有指定任何操作参数按钮对象。
这是一个代码片段,向您展示我用来创建按钮的内容:
ITaskbarList4* pitskbar;
HRESULT hr = CoInitialize(NULL);
hr = CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pitskbar));
HWND hwnd = AfxGetMainWnd()->GetSafeHwnd();
DWORD dwMask = THB_BITMAP | THB_FLAGS;
THUMBBUTTON thbButtons[3];
thbButtons[0].dwMask = (THUMBBUTTONMASK)dwMask;
thbButtons[0].iId = 0;
thbButtons[0].iBitmap = 0;
thbButtons[0].dwFlags = THBF_ENABLED;
thbButtons[1].dwMask = (THUMBBUTTONMASK)dwMask;
thbButtons[1].iId = 1;
.
.
<More Button Params>
.
.
CImageList m_imglst;
m_imglst.Create(16, 16, ILC_COLOR16, 0, 4);
HICON icon = (HICON)::LoadImage(theApp.m_hInstance, MAKEINTRESOURCE(IDI_ICON_ON), IMAGE_ICON, 16, 16, LR_SHARED);
m_imglst.Add(icon);
.
.
<More Images>
.
.
hr = pitskbar->ThumbBarSetImageList(hwnd, m_imglst);
if (SUCCEEDED(hr))
{
hr = pitskbar->ThumbBarAddButtons(hwnd, ARRAYSIZE(thbButtons), thbButtons);
}
pitskbar->Release();
只要在问题的上下文中,我将不胜感激任何有用的答案。
问候