Pergunta

Hoje eu tenho outra pergunta específica sobre um novo recurso no Windows 7 chamado a miniatura da barra de ferramentas ou o Peek Toolbar Aero se algum pode gostar de chamá-lo dessa forma. Eu tenho sido capaz de criar um novo conjunto de botões da barra de ferramentas para a minha candidatura cada botão com o ícone único e comportamento, mas eu não tenho sido capaz de adicionar funcionalidade para os novos botões como a nova estrutura THUMBUTTON não especifica qualquer parâmetro de ação para uma botão de objeto.

Aqui está um trecho de código para mostrar o que eu usei para criar os botões:

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

Eu gostaria de receber qualquer resposta útil, contanto que é no contexto do problema.

Saudações

Foi útil?

Solução

isto é o que você está procurando? "Quando um botão em uma miniatura da barra de ferramentas é clicado, a janela associada com essa miniatura é enviada uma mensagem WM_COMMAND com o HIWORD de seu parâmetro wParam definido para THBN_CLICKED eo LOWORD ao botão ID." fonte: http://msdn.microsoft.com/en -us / library / dd391703 (VS.85) .aspx

Outras dicas

Aqui é um artigo sobre como fazê-lo usando os invólucros gerenciados ... por ter um olhar para o wrapper gerenciado, você pode ver mais facilmente como fazê-lo usando C ++ ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top