Pregunta

Hoy tengo otra pregunta específica sobre una nueva función en Windows 7 llamada barra de herramientas de miniaturas o la barra de herramientas Aero Peek si a algunos les gustaría llamarlo así. He podido crear un nuevo conjunto de botones de la barra de herramientas para mi aplicación, cada botón con su ícono y comportamiento únicos, pero no he podido agregar funcionalidad a los nuevos botones, ya que la nueva estructura THUMBUTTON no especifica ningún parámetro de acción para un objeto de botón.

Aquí hay un fragmento de código para mostrarle lo que he usado para crear los botones:

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();

Agradecería cualquier respuesta útil siempre que esté en el contexto de la pregunta.

Saludos

¿Fue útil?

Solución

esto es lo que buscas? " Cuando se hace clic en un botón en una barra de herramientas de miniaturas, la ventana asociada con esa miniatura se envía un mensaje WM_COMMAND con la HIWORD de su parámetro wParam configurado en THBN_CLICKED y la LOWORD en la ID del botón. " fuente: http://msdn.microsoft.com/en -us / library / dd391703 (VS.85) .aspx

Otros consejos

Aquí hay un artículo sobre cómo hacerlo usando los contenedores administrados ... al echar un vistazo al contenedor administrado, puede ver más fácilmente cómo hacerlo usando C ++ ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top