Domanda

Oggi ho un'altra domanda specifica su una nuova funzionalità di Windows 7 chiamata la barra degli strumenti delle miniature o la barra degli strumenti Aero Peek se ad alcuni potrebbe piacere chiamarla in quel modo. Sono stato in grado di creare un nuovo set di pulsanti della barra degli strumenti per la mia applicazione ogni pulsante con la sua icona e il suo comportamento unici Ma non sono stato in grado di aggiungere funzionalità ai nuovi pulsanti poiché la nuova struttura THUMBUTTON non specifica alcun parametro di azione per un oggetto pulsante.

Ecco uno snippet di codice per mostrarti cosa ho usato per creare i pulsanti:

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

Gradirei qualsiasi risposta utile purché sia ??nel contesto della domanda.

Saluti

È stato utile?

Soluzione

questo è quello che stai cercando? " Quando si fa clic su un pulsante nella barra degli strumenti di una miniatura, alla finestra associata a quella miniatura viene inviato un messaggio WM_COMMAND con HIWORD del parametro wParam impostato su THBN_CLICKED e LOWORD sull'ID pulsante. " fonte: http://msdn.microsoft.com/en -us / library / dd391703 (VS.85) aspx

Altri suggerimenti

Qui c'è un articolo su come farlo usando i wrapper gestiti ... dando un'occhiata al wrapper gestito, potresti vedere più facilmente come farlo usando C ++ ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top