Question

Aujourd'hui, j'ai une autre question spécifique concernant une nouvelle fonctionnalité de Windows 7, appelée barre d'outils miniatures ou barre d'outils Aero Peek, si certains souhaitent l'appeler ainsi. J'ai été en mesure de créer un nouvel ensemble de boutons de barre d'outils pour mon application, chaque bouton ayant son icône et son comportement uniques. Cependant, 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 une objet bouton.

Voici un extrait de code vous montrant ce que j'ai utilisé pour créer les 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();

J'apprécierais toute réponse utile tant qu'elle se situe dans le contexte de la question.

Cordialement

Était-ce utile?

La solution

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

Autres conseils

Voici un article sur la procédure à suivre à l'aide des wrappers managés ... en jetant un coup d'œil sur le wrapper managé, vous verrez peut-être plus facilement comment le faire en C ++ ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top