缩略图工具栏按钮

时间:2009-09-17 07:44:25

标签: windows-7 toolbar thumbnails aero peek

今天我还有一个关于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();

我会感谢任何有用的答案,只要它在问题的背景下。

此致

2 个答案:

答案 0 :(得分:1)

这是你在找什么? “当单击缩略图工具栏中的按钮时,与该缩略图关联的窗口将发送WM_COMMAND消息,其wParam参数的HIWORD设置为THBN_CLICKED,LOWORD指向按钮ID。” 来源:http://msdn.microsoft.com/en-us/library/dd391703(VS.85).aspx

答案 1 :(得分:0)

Here是一篇关于如何使用托管包装器的文章...通过查看托管包装器,您可能更容易看到如何使用C ++ ...