Como rotular dinamicamente os botões da barra de ferramentas

Você pode atribuir texto a um botão existente usando a mensagem TB_SETBUTTONINFO.

O que você precisa saber

Tecnologias

Pré-requisitos

  • C/C++
  • Programação da interface do usuário do Windows

Instruções

Rotular dinamicamente um botão da barra de ferramentas

O exemplo a seguir demonstra como alterar o texto do terceiro botão nos exemplos anteriores de Salvar para Salvar como.

LRESULT RelabelButton(HWND hWndToolbar)
{
    TBBUTTONINFO tbInfo;
    
    tbInfo.cbSize  = sizeof(TBBUTTONINFO);
    tbInfo.dwMask  = TBIF_TEXT;
    tbInfo.pszText = L"Save As";
    
    return SendMessage(hWndToolbar, TB_SETBUTTONINFO, (WPARAM)IDM_SAVE, (LPARAM)&tbInfo);
}

Comentários

Alterar o texto de um botão usando TB_SETBUTTONINFO não afeta a cadeia de caracteres atribuída a esse botão na lista de cadeias de caracteres internas.

Se você adicionar uma cadeia de caracteres de botão da barra de ferramentas à lista de texto interna, não poderá recuperar o índice dessa cadeia chamando TBN_GETBUTTONINFO — em vez disso, você deverá usar a mensagem TB_GETBUTTON.

Usando controles da barra de ferramentas

Demonstração de controles comuns do Windows (CppWindowsCommonControls)