2009-09-17 18 views
0

Aujourd'hui, j'ai une autre question spécifique sur une nouvelle fonctionnalité dans Windows 7 appelée la barre d'outils de miniatures ou la barre d'outils Aero Peek, si certains pourraient appeler ainsi. J'ai été capable de créer un nouvel ensemble de boutons de la barre d'outils pour mon application avec chaque bouton avec son icône et son comportement. Mais je n'ai pas pu ajouter de fonctionnalité aux nouveaux boutons car la nouvelle structure THUMBUTTON ne spécifie aucun paramètre d'action pour un objet de bouton.Thumbnail Toolbar Button

Voici un extrait de code pour vous montrer ce que je l'ai utilisé pour créer des boutons:

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

Je vous serais reconnaissant toute réponse utile tant qu'il est dans le contexte de la question.

Cordialement

Répondre

1

c'est ce que vous cherchez? "Lorsqu'un utilisateur clique sur un bouton dans une barre d'outils de vignettes, un message WM_COMMAND est envoyé à la fenêtre associée à cette vignette avec le paramètre HIWORD de son paramètre wParam sur THBN_CLICKED et le paramètre LOWORD sur l'ID de bouton." source: http://msdn.microsoft.com/en-us/library/dd391703(VS.85).aspx

0

Here est un article sur la façon de le faire en utilisant les emballages gérés ... en ayant un regard sur l'emballage géré, vous pouvez voir plus facilement comment le faire en utilisant C++ ...