Compartilhar via


Classe CToolBarCtrl

Fornece a funcionalidade do controle comum da barra de ferramentas do Windows.

Sintaxe

class CToolBarCtrl : public CWnd

Membros

Construtores públicos

Nome Descrição
CToolBarCtrl::CToolBarCtrl Constrói um objeto CToolBarCtrl.

Métodos públicos

Nome Descrição
CToolBarCtrl::AddBitmap Adiciona uma ou mais imagens do botão bitmap à lista de imagens de botão disponíveis para um controle de barra de ferramentas.
CToolBarCtrl::AddButtons Adiciona um ou mais botões a um controle de barra de ferramentas.
CToolBarCtrl::AddString Adiciona uma nova cadeia de caracteres, passada como uma ID do recurso, à lista interna de cadeias de caracteres da barra de ferramentas.
CToolBarCtrl::AddStrings Adiciona uma nova cadeia de caracteres ou cadeias de caracteres passadas como um ponteiro para um buffer de cadeias de caracteres separadas por NULL, à lista interna de cadeias de caracteres da barra de ferramentas.
CToolBarCtrl::AutoSize Redimensiona um controle de barra de ferramentas.
CToolBarCtrl::ChangeBitmap Altera o bitmap para um botão no controle de barra de ferramentas atual.
CToolBarCtrl::CheckButton Verifica ou desmarca um determinado botão em um controle de barra de ferramentas.
CToolBarCtrl::CommandToIndex Recupera o índice baseado em zero do botão associado ao identificador de comando especificado.
CToolBarCtrl::Create Cria um controle de barra de ferramentas e o anexa a um objeto CToolBarCtrl.
CToolBarCtrl::CreateEx Cria um controle de barra de ferramentas com os estilos estendidos especificados do Windows e o anexa a um objeto CToolBarCtrl.
CToolBarCtrl::Customize Exibe a caixa de diálogo Personalizar barra de ferramentas.
CToolBarCtrl::DeleteButton Exclui um botão do controle de barra de ferramentas.
CToolBarCtrl::EnableButton Habilita ou desabilita o botão especificado em um controle de barra de ferramentas.
CToolBarCtrl::GetAnchorHighlight Recupera a configuração de realce de âncora para uma barra de ferramentas.
CToolBarCtrl::GetBitmap Recupera o índice do bitmap associado a um botão em uma barra de ferramentas.
CToolBarCtrl::GetBitmapFlags Obtém sinalizadores associados ao bitmap da barra de ferramentas.
CToolBarCtrl::GetButton Recupera informações sobre o botão especificado em um controle de barra de ferramentas.
CToolBarCtrl::GetButtonCount Recupera uma contagem dos botões atualmente no controle de barra de ferramentas.
CToolBarCtrl::GetButtonInfo Recupera as informações de um botão em uma barra de ferramentas.
CToolBarCtrl::GetButtonSize Recupera a largura e a altura atuais dos botões de barra de ferramentas, em pixels.
CToolBarCtrl::GetColorScheme Recupera o esquema de cores do controle de barra de ferramentas atual.
CToolBarCtrl::GetDisabledImageList Recupera a lista de imagens que um controle de barra de ferramentas usa para exibir botões desabilitados.
CToolBarCtrl::GetDropTarget Recupera a interface IDropTarget de um controle de barra de ferramentas.
CToolBarCtrl::GetExtendedStyle Recupera os estilos estendidos para um controle de barra de ferramentas.
CToolBarCtrl::GetHotImageList Recupera a lista de imagens que um controle de barra de ferramentas usa para exibir botões de acesso frequente. Um botão de acesso frequente aparece realçado quando o ponteiro do mouse está sobre ele.
CToolBarCtrl::GetHotItem Recupera o índice do item de acesso frequente em uma barra de ferramentas.
CToolBarCtrl::GetImageList Recupera a lista de imagens que um controle de barra de ferramentas usa para exibir botões em seu estado padrão.
CToolBarCtrl::GetInsertMark Recupera a marca de inserção atual da barra de ferramentas.
CToolBarCtrl::GetInsertMarkColor Recupera a cor usada para desenhar a marca de inserção da barra de ferramentas.
CToolBarCtrl::GetItemRect Recupera o retângulo delimitador de um botão em um controle de barra de ferramentas.
CToolBarCtrl::GetMaxSize Recupera o tamanho total de todos os botões visíveis e separadores na barra de ferramentas.
CToolBarCtrl::GetMaxTextRows Recupera o número máximo de linhas de texto exibidas em um botão de barra de ferramentas.
CToolBarCtrl::GetMetrics Recupera as métricas de um controle de barra de ferramentas.
CToolBarCtrl::GetPadding Recupera o preenchimento horizontal e vertical do controle de barra de ferramentas atual.
CToolBarCtrl::GetPressedImageList Recupera a lista de imagens que o controle de barra de ferramentas atual usa para representar botões no estado pressionado.
CToolBarCtrl::GetRect Recupera o retângulo delimitador para um botão de barra de ferramentas especificado.
CToolBarCtrl::GetRows Recupera o número de linhas de botões atualmente exibidos na barra de ferramentas.
CToolBarCtrl::GetState Recupera informações sobre o estado do botão especificado em um controle de barra de ferramentas, como se ele está habilitado, pressionado ou selecionado.
CToolBarCtrl::GetString Recupera uma cadeia de caracteres de barra de ferramentas.
CToolBarCtrl::GetStyle Recupera os estilos atualmente usados para um controle de barra de ferramentas.
CToolBarCtrl::GetToolTips Recupera o identificador do controle de dica de ferramenta, se houver, associado ao controle de barra de ferramentas.
CToolBarCtrl::HideButton Oculta ou mostra o botão especificado em um controle de barra de ferramentas.
CToolBarCtrl::HitTest Determina a localização de um ponto em um controle de barra de ferramentas.
CToolBarCtrl::Indeterminate Define ou desmarca o estado indeterminado (cinza) do botão especificado em um controle de barra de ferramentas.
CToolBarCtrl::InsertButton Insere um botão em um controle de barra de ferramentas.
CToolBarCtrl::InsertMarkHitTest Recupera as informações da marca de inserção de um ponto em uma barra de ferramentas.
CToolBarCtrl::IsButtonChecked Informa se o botão especificado em um controle de barra de ferramentas está marcado.
CToolBarCtrl::IsButtonEnabled Informa se o botão especificado em um controle de barra de ferramentas está habilitado.
CToolBarCtrl::IsButtonHidden Informa se o botão especificado em um controle de barra de ferramentas está oculto.
CToolBarCtrl::IsButtonHighlighted Verifica o estado de realce do botão de barra de ferramentas.
CToolBarCtrl::IsButtonIndeterminate Informa se o estado do botão especificado em um controle de barra de ferramentas é indeterminado (cinza).
CToolBarCtrl::IsButtonPressed Informa se o botão especificado em um controle de barra de ferramentas está pressionado.
CToolBarCtrl::LoadImages Carrega bitmaps na lista de imagens de um controle de barra de ferramentas.
CToolBarCtrl::MapAccelerator Mapeia um caractere de acelerador para um botão de barra de ferramentas.
CToolBarCtrl::MarkButton Define o estado de realce de um determinado botão em um controle de barra de ferramentas.
CToolBarCtrl::MoveButton Move um botão de um índice para outro.
CToolBarCtrl::PressButton Pressiona ou solta o botão especificado em um controle de barra de ferramentas.
CToolBarCtrl::ReplaceBitmap Substitui o bitmap existente no controle de barra de ferramentas atual por um novo bitmap.
CToolBarCtrl::RestoreState Restaura o estado do controle de barra de ferramentas.
CToolBarCtrl::SaveState Salva o estado do controle de barra de ferramentas.
CToolBarCtrl::SetAnchorHighlight Define a configuração de realce de âncora para uma barra de ferramentas.
CToolBarCtrl::SetBitmapSize Define o tamanho das imagens com bits a serem adicionadas a um controle de barra de ferramentas.
CToolBarCtrl::SetButtonInfo Define as informações de um botão existente em uma barra de ferramentas.
CToolBarCtrl::SetButtonSize Define o tamanho dos botões a serem adicionadas a um controle de barra de ferramentas.
CToolBarCtrl::SetButtonStructSize Especifica o tamanho da estrutura TBBUTTON.
CToolBarCtrl::SetButtonWidth Define as larguras mínimas e máximas do botão no controle de barra de ferramentas.
CToolBarCtrl::SetCmdID Define o identificador de comando a ser enviado para a janela do proprietário quando o botão especificado é pressionado.
CToolBarCtrl::SetColorScheme Define o esquema de cores do controle de barra de ferramentas atual.
CToolBarCtrl::SetDisabledImageList Define a lista de imagens que o controle de barra de ferramentas usará para exibir os botões desabilitados.
CToolBarCtrl::SetDrawTextFlags Define os sinalizadores na função DrawText do Win32, que é usada para desenhar o texto no retângulo especificado, formatado de acordo com a forma como os sinalizadores são definidos.
CToolBarCtrl::SetExtendedStyle Define os estilos estendidos para um controle de barra de ferramentas.
CToolBarCtrl::SetHotImageList Define a lista de imagens que o controle de barra de ferramentas usará para exibir os botões de acesso frequente.
CToolBarCtrl::SetHotItem Define o item de acesso frequente em uma barra de ferramentas.
CToolBarCtrl::SetImageList Define a lista de imagens que a barra de ferramentas usará para exibir os botões que estão em seu estado padrão.
CToolBarCtrl::SetIndent Define o recuo do primeiro botão em um controle de barra de ferramentas.
CToolBarCtrl::SetInsertMark Define a marca de inserção atual da barra de ferramentas.
CToolBarCtrl::SetInsertMarkColor Define a cor usada para desenhar a marca de inserção da barra de ferramentas.
CToolBarCtrl::SetMaxTextRows Define o número máximo de linhas de texto exibidas em um botão de barra de ferramentas.
CToolBarCtrl::SetMetrics Define as métricas de um controle de barra de ferramentas.
CToolBarCtrl::SetOwner Define a janela para receber mensagens de notificação do controle de barra de ferramentas.
CToolBarCtrl::SetPadding Define o preenchimento horizontal e vertical do controle de barra de ferramentas atual.
CToolBarCtrl::SetPressedImageList Define a lista de imagens que o controle de barra de ferramentas atual usa para representar botões no estado pressionado.
CToolBarCtrl::SetRows Define o número de linhas de botões exibidas na barra de ferramentas.
CToolBarCtrl::SetState Define o estado do botão especificado em um controle de barra de ferramentas.
CToolBarCtrl::SetStyle Define os estilos de um controle de barra de ferramentas.
CToolBarCtrl::SetToolTips Associa um controle de dica de ferramenta ao controle de barra de ferramentas.
CToolBarCtrl::SetWindowTheme Define o estilo visual do controle de barra de ferramentas.

Comentários

Esse controle (e, portanto, a classe CToolBarCtrl) está disponível apenas para programas em execução no Windows 95/98 e Windows NT versão 3.51 e posteriores.

Um controle comum da barra de ferramentas do Windows é uma janela filho retangular que contém um ou mais botões. Esses botões podem exibir uma imagem bitmap, uma cadeia de caracteres ou ambos. Quando o usuário escolhe um botão, ele envia uma mensagem de comando para a janela de proprietário da barra de ferramentas. Normalmente, os botões em uma barra de ferramentas correspondem a itens no menu do aplicativo. Eles oferecem um modo mais direto para o usuário acessar os comandos de um aplicativo.

Os objetos CToolBarCtrl contêm várias estruturas de dados importantes internas: uma lista de bitmaps de imagem de botão ou uma lista de imagens, uma lista de cadeias de caracteres de etiqueta de botão e uma lista de TBBUTTON estruturas que associam uma imagem e/ou cadeia de caracteres à posição, estilo, estado e ID de comando do botão. Cada um dos elementos dessas estruturas de dados é referenciado por um índice baseado em zero. Para usar um objeto CToolBarCtrl, configure estas estruturas de dados. A lista de cadeias de caracteres só pode ser usada para rótulos de botão; Não é possível recuperar strings da barra de ferramentas.

Para usar um objeto CToolBarCtrl, você normalmente seguirá estas etapas:

  1. Construa o objeto CToolBarCtrl.

  2. Chame Create para criar o controle comum da barra de ferramentas do Windows e anexá-lo ao objeto CToolBarCtrl. Indique o estilo da barra de ferramentas usando estilos, como TBSTYLE_TRANSPARENT para uma barra de ferramentas transparente ou TBSTYLE_DROPDOWN para uma barra de ferramentas que dá suporte a botões de estilo suspenso.

  3. Identifique como você deseja exibir os botões na barra de ferramentas:

    • Para usar imagens de bitmap para botões, adicione os bitmaps de botão à barra de ferramentas chamando AddBitmap.

    • Para usar imagens exibidas de uma lista de imagens para botões, especifique a lista de imagens chamando SetImageList, SetHotImageList ou SetDisabledImageList.

    • Para usar rótulos de cadeia de caracteres para botões, adicione as cadeias de caracteres à barra de ferramentas chamando AddString e/ou AddStrings.

  4. Adicione estruturas de botão à barra de ferramentas chamando AddButtons.

  5. Se você quiser dicas de ferramentas para um botão de barra de ferramentas em uma janela de proprietário que não seja CFrameWnd, você precisará manipular as mensagens TTN_NEEDTEXT na janela de proprietário da barra de ferramentas, conforme descrito em Manipulando notificações da dica de ferramenta. Se a janela pai da barra de ferramentas for derivada de CFrameWnd, as dicas de ferramenta serão exibidas sem esforço extra de você porque CFrameWnd fornecerá um manipulador padrão.

  6. Se você quiser que o usuário possa personalizar a barra de ferramentas, trate as mensagens de notificação de personalização na janela proprietário, conforme descrito em Tratamento de notificações de personalização.

Você pode usar SaveState para salvar o estado atual de um controle de barra de ferramentas no registro e RestoreState para restaurar o estado com base nas informações armazenadas anteriormente no registro. Além de salvar o estado da barra de ferramentas entre os usos do aplicativo, os aplicativos normalmente armazenam o estado antes que o usuário comece a personalizar a barra de ferramentas caso o usuário queira restaurar posteriormente a barra de ferramentas para seu estado original.

Suporte para o Internet Explorer versão 4.0 e posterior

Para dar suporte à funcionalidade introduzida no Internet Explorer, versão 4.0 e posterior, o MFC fornece suporte à lista de imagens e estilos transparentes e simples para controles da barra de ferramentas.

Uma barra de ferramentas transparente permite que o cliente na barra de ferramentas seja exibido. Para criar uma barra de ferramentas transparente, use os estilos TBSTYLE_FLAT e TBSTYLE_TRANSPARENT. Barras de ferramentas transparentes apresentam acompanhamento frequente; ou seja, quando o ponteiro do mouse se move sobre um botão frequente na barra de ferramentas, a aparência do botão muda. As barras de ferramentas criadas apenas com o estilo TBSTYLE_FLAT conterão botões que não são transparentes.

O suporte à lista de imagens permite maior flexibilidade a um controle para comportamento padrão, imagens frequentes e imagens desabilitadas. Use GetImageList, GetHotImageList e GetDisabledImageList com a barra de ferramentas transparente para manipular a imagem de acordo com seu estado:

Para obter mais informações sobre como usar CToolBarCtrl, consulte Controles e Usar CToolBarCtrl.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CToolBarCtrl

Requisitos

Cabeçalho: afxcmn.h

CToolBarCtrl::AddBitmap

Adiciona uma ou mais imagens de botão à lista de imagens de botão armazenadas no controle de barra de ferramentas.

int AddBitmap(
    int nNumButtons,
    UINT nBitmapID);

int AddBitmap(
    int nNumButtons,
    CBitmap* pBitmap);

Parâmetros

nNumButtons
Número de imagens de botão no bitmap.

nBitmapID
Identificador de recurso do bitmap que contém a imagem de botão ou imagens a serem adicionadas.

pBitmap
Ponteiro para o objeto CBitmap que contém a imagem ou imagens do botão a serem adicionadas.

Valor de retorno

Índice baseado em zero da primeira nova imagem, se bem-sucedido; caso contrário, - 1.

Comentários

Você pode usar a API do Windows CreateMappedBitmap para mapear cores antes de adicionar o bitmap à barra de ferramentas. Se você passar um ponteiro para um objeto CBitMap, deverá garantir que o bitmap não seja destruído até que a barra de ferramentas seja destruída.

CToolBarCtrl::AddButtons

Adiciona um ou mais botões a um controle de barra de ferramentas.

BOOL AddButtons(
    int nNumButtons,
    LPTBBUTTON lpButtons);

Parâmetros

nNumButtons
Número de botões a serem adicionados.

lpButtons
Endereço de uma matriz de estruturas TBBUTTON que contém informações sobre os botões a serem adicionados. Deve haver o mesmo número de elementos na matriz que os botões especificados por nNumButtons.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

O ponteiro lpButtons aponta para uma matriz de estruturas TBBUTTON. Cada estrutura TBBUTTON associa o botão que está sendo adicionado ao estilo, à imagem e/ou à cadeia de caracteres do botão, à ID de comando, ao estado e aos dados definidos pelo usuário:

typedef struct _TBBUTTON {
    int iBitmap;    // zero-based index of button image
    int idCommand;  // command to be sent when button pressed
    BYTE fsState;   // button state--see below
    BYTE fsStyle;   // button style--see below
    DWORD dwData;   // application-defined value
    int iString;    // zero-based index of button label string
} TBBUTTON;

Os membros são os seguintes:

  • iBitmap

    Índice baseado em zero de imagem de botão, -1 se não houver imagem para este botão.

  • idCommand

    Identificador do comando associado ao botão. Esse identificador é enviado em uma mensagem WM_COMMAND quando o botão é escolhido. Se o membro fsStyle tiver o valor TBSTYLE_SEP, esse membro deverá ser zero.

  • fsState

    Sinalizadores de estado do botão. Pode ser uma combinação dos valores indicados abaixo:

    • TBSTATE_CHECKED O botão tem o estilo TBSTYLE_CHECKED e está sendo pressionado.

    • TBSTATE_ENABLED O botão aceita a entrada do usuário. Um botão que não tem esse estado não aceita a entrada do usuário e está esmaecido.

    • TBSTATE_HIDDEN O botão não está visível e não pode receber entrada do usuário.

    • TBSTATE_INDETERMINATE O botão está esmaecido.

    • TBSTATE_PRESSED O botão está sendo pressionado.

    • TBSTATE_WRAP Uma quebra de linha segue o botão. O botão também deve ter o estado TBSTATE_ENABLED.

  • fsStyle

    Estilo do botão. Pode ser uma combinação dos valores indicados abaixo:

    • TBSTYLE_BUTTON Cria um botão de ação padrão.

    • TBSTYLE_CHECK Cria um botão que alterna entre os estados pressionados e não pressionados sempre que o usuário clica nele. O botão tem uma cor de tela de fundo diferente quando está no estado pressionado.

    • TBSTYLE_CHECKGROUP Cria um botão de seleção que permanece pressionado até que outro botão no grupo seja pressionado.

    • TBSTYLE_GROUP Cria um botão que permanece pressionado até que outro botão no grupo seja pressionado.

    • TBSTYLE_SEP Cria um separador, fornecendo uma pequena lacuna entre grupos de botões. Um botão que tem esse estilo não recebe entrada do usuário.

  • dwData

    Dados definidos pelo usuário.

  • iString

    Índice baseado em zero da cadeia de caracteres a ser usada como rótulo do botão, -1 se não houver cadeia de caracteres para este botão.

A imagem e/ou cadeia de caracteres cujo índice você fornece deve ter sido adicionada anteriormente à lista do controle de barra de ferramentas usando AddBitmap, AddStringe/ou AddStrings.

CToolBarCtrl::AddString

Adiciona uma nova cadeia de caracteres, passada como uma ID do recurso, à lista interna de cadeias de caracteres da barra de ferramentas.

int AddString(UINT nStringID);

Parâmetros

nStringID
Identificador do recurso de cadeia de caracteres a ser adicionado à lista de cadeias de caracteres do controle de barra de ferramentas.

Valor de retorno

O índice baseado em zero da primeira nova cadeia de caracteres adicionada, se tiver êxito; caso contrário, -1.

CToolBarCtrl::AddStrings

Adiciona uma nova cadeia de caracteres ou cadeias de caracteres à lista de cadeias de caracteres disponíveis para um controle de barra de ferramentas.

int AddStrings(LPCTSTR lpszStrings);

Parâmetros

lpszStrings
Endereço de um buffer que contém uma ou mais cadeias de caracteres terminadas em NULL para adicionar à lista de cadeias de caracteres da barra de ferramentas. A última cadeia de caracteres deve ser encerrada com dois caracteres NULL.

Valor de retorno

O índice baseado em zero da primeira nova cadeia de caracteres adicionada, se tiver êxito; caso contrário, -1.

Comentários

As cadeias de caracteres no buffer devem ser separadas por um caractere NULL. Você deve garantir que a última cadeia de caracteres tenha dois terminadores NULL. Para formatar corretamente uma cadeia de caracteres constante, você pode gravá-la como:

// one null added automatically
lpszStrings = _T("Only one string to add\0");

ou:

// adds three strings with one call
lpszStrings = _T("String 1\0String 2\0String 3\0");

Você não deve passar um objeto CString para essa função, pois não é possível ter mais de um caractere NULL em um CString.

CToolBarCtrl::AutoSize

Redimensiona todo o controle de barra de ferramentas.

void AutoSize();

Comentários

Você deve chamar essa função quando o tamanho da janela pai ou da barra de ferramentas forem alterados (como quando você define o botão, o tamanho do bitmap ou adiciona cadeias de caracteres).

CToolBarCtrl::ChangeBitmap

Altera o bitmap para um botão no controle de barra de ferramentas atual.

BOOL ChangeBitmap(
    int idButton,
    int iBitmap);

Parâmetros

idButton
[in] Identificador de comando do botão que deve receber um novo bitmap.

iBitmap
[in] Índice baseado em zero de uma imagem na lista de imagens do controle de barra de ferramentas atual.

Valor de retorno

TRUE se o método for bem-sucedido. Caso contrário, FALSE.

Comentários

Se esse método for bem-sucedido, o sistema exibirá a imagem especificada no botão especificado.

Esse método envia a mensagem TB_CHANGEBITMAP, que é descrita no SDK do Windows.

Exemplo

O exemplo de código a seguir altera o bitmap do botão Salvamento de Arquivos para o bitmap do botão Sobre.

{
   // Change the bitmap for the File Save button, whose
   // command ID is ID_FILE_SAVE, to the bitmap for the
   // About button, whose index is 7.
   CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
   BOOL bRet = m_toolBarCtrl.ChangeBitmap(ID_FILE_SAVE, 7);
}

CToolBarCtrl::CheckButton

Verifica ou desmarca um determinado botão em um controle de barra de ferramentas.

BOOL CheckButton(
    int nID,
    BOOL bCheck = TRUE);

Parâmetros

nID
Identificador de comando do botão para marcar ou desmarcar.

bCheck
TRUE para marcar o botão, FALSE para desmarcá-lo.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

Quando um botão foi marcado, ele parece ter sido pressionado. Se você quiser alterar mais de um estado do botão, considere chamar SetState.

CToolBarCtrl::CommandToIndex

Recupera o índice baseado em zero do botão associado ao identificador de comando especificado.

UINT CommandToIndex(UINT nID) const;

Parâmetros

nID
ID de comando cujo índice de botão você deseja encontrar.

Valor de retorno

O índice baseado em zero para o botão associado à ID de comando.

Comentários

CToolBarCtrl::Create

Cria um controle de barra de ferramentas e o anexa a um objeto CToolBarCtrl.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parâmetros

dwStyle
Especifica o estilo do controle de barra de ferramentas. As barras de ferramentas sempre devem ter o estilo WS_CHILD. Além disso, você pode especificar qualquer combinação de estilos de barra de ferramentas e de janela, conforme descrito em Comentários.

rect
Opcionalmente, especifica o tamanho e a posição do controle de barra de ferramentas. Pode ser um objeto CRect ou uma estrutura RECT.

pParentWnd
Especifica a janela pai do controle de barra de ferramentas. Não deve ser NULL.

nID
Especifica a ID do controle de barra de ferramentas.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

O CToolBarCtrl é construído em duas etapas. Primeiro, chame o construtor e, em seguida, chame Create, que cria o controle de barra de ferramentas e o anexa ao objeto CToolBarCtrl. Aplique os seguintes estilos de janela a um controle de barra de ferramentas.

  • WS_CHILD Sempre

  • WS_VISIBLE Geralmente

  • WS_DISABLED Raramente

Confira CreateWindow no SDK do Windows uma descrição dos estilos de janela.

Opcionalmente, aplique uma combinação de estilos de controle comuns, conforme descrito no SDK do Windows.

Aplique uma combinação de estilos de barra de ferramentas ao controle ou aos botões. Os estilos estão descritos no tópico Controle de Barra de Ferramentas e Estilos de Botão no SDK do Windows.

Para usar estilos de barra de ferramentas estendidos, chame SetExtendedStyle depois de chamar Create. Para criar uma barra de ferramentas com estilos de janela estendidos, chame CToolBarCtrl::CreateEx em vez de Create.

O controle de barra de ferramentas define automaticamente o tamanho e a posição da janela de barra de ferramentas. A altura é baseada na altura dos botões na barra de ferramentas. A largura é a mesma da área de cliente da janela pai. Os estilos CCS_TOP e CCS_BOTTOM determinam se a barra de ferramentas está posicionada na parte superior ou inferior da área de cliente. Por padrão, uma barra de ferramentas tem o estilo CCS_TOP.

CToolBarCtrl::CreateEx

Cria um controle (uma janela filho) e o associa ao objeto CToolBarCtrl.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parâmetros

dwExStyle
Especifica o estilo estendido do controle que está sendo criado. Para obter uma lista de estilos estendidos do Windows, consulte o parâmetro dwExStyle para CreateWindowEx no SDK do Windows.

dwStyle
Especifica o estilo do controle de barra de ferramentas. As barras de ferramentas sempre devem ter o estilo WS_CHILD. Além disso, você pode especificar qualquer combinação de estilos de barra de ferramentas e de janela, conforme descrito na seção Comentários de Create.

rect
Uma referência a uma estrutura RECT que descreve o tamanho e a posição da janela a ser criada, nas coordenadas de cliente de pParentWnd.

pParentWnd
Um ponteiro para a janela que é pai do controle.

nID
A ID da janela filho do controle.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Use CreateEx, em vez de Create, para aplicar estilos estendidos do Windows, especificados pelo prefácio WS_EX_ de estilos estendidos do Windows. CreateEx cria o controle com os estilos estendidos do Windows especificados por dwExStyle. Defina estilos estendidos específicos para um controle usando SetExtendedStyle. Por exemplo, use CreateEx para definir estilos como WS_EX_CONTEXTHELP, mas use SetExtendedStyle para definir estilos como TBSTYLE_EX_DRAWDDARROWS. Para saber mais, consulte os estilos descritos em Estilos estendidos da barra de ferramentas no SDK do Windows.

CToolBarCtrl::CToolBarCtrl

Constrói um objeto CToolBarCtrl.

CToolBarCtrl();

Comentários

Você deve chamar Create para tornar a barra de ferramentas utilizável.

CToolBarCtrl::Customize

Exibe a caixa de diálogo Personalizar barra de ferramentas.

void Customize();

Comentários

Essa caixa de diálogo permite que o usuário personalize a barra de ferramentas adicionando e excluindo botões. Para dar suporte à personalização, a janela pai da barra de ferramentas deve manipular as mensagens de notificação de personalização, conforme descrito em Manipulando notificações de personalização. Sua barra de ferramentas também deve ter sido criada com o estilo CCS_ADJUSTABLE, conforme descrito em CToolBarCtrl::Create.

CToolBarCtrl::DeleteButton

Exclui um botão do controle de barra de ferramentas.

BOOL DeleteButton(int nIndex);

Parâmetros

nIndex
Índice baseado em zero do botão a ser excluído.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

CToolBarCtrl::EnableButton

Habilita ou desabilita o botão especificado em um controle de barra de ferramentas.

BOOL EnableButton(
    int nID,
    BOOL bEnable = TRUE);

Parâmetros

nID
Identificador de comando do botão para habilitar ou desabilitar.

bEnable
O valor será TRUE para habilitar o botão; o valor será FALSE para desabilitar o botão.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

Quando um botão foi habilitado, ele pode ser pressionado e marcado. Se você quiser alterar mais de um estado do botão, considere chamar SetState.

CToolBarCtrl::GetAnchorHighlight

Recupera a configuração de realce de âncora para uma barra de ferramentas.

BOOL GetAnchorHighlight() const;

Valor de retorno

Se diferente de zero, o realce de âncora está habilitado. Se zero, o realce de âncora será desabilitado.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETANCHORHIGHLIGHT do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::GetBitmap

Recupera o índice do bitmap associado a um botão em uma barra de ferramentas.

int GetBitmap(int nID) const;

Parâmetros

nID
Identificador de comando do botão cujo índice bitmap deve ser recuperado.

Valor de retorno

Retorna o índice do bitmap se tiver êxito; caso contrário, zero.

Comentários

Implementa a funcionalidade de TB_GETBITMAP no SDK do Windows.

CToolBarCtrl::GetBitmapFlags

Recupera os sinalizadores de bitmap da barra de ferramentas.

UINT GetBitmapFlags() const;

Valor de retorno

UINT que tem o sinalizador TBBF_LARGE definido se a exibição puder dar suporte a bitmaps de barra de ferramentas grandes, caso contrário, desmarque.

Comentários

Você deve chamá-lo depois de criar a barra de ferramentas, mas antes de adicionar bitmaps à barra de ferramentas. O valor retornado indica se a exibição dá suporte a bitmaps grandes ou não. Se a exibição der suporte a bitmaps grandes e se você optar por usá-los, chame SetBitmapSize e SetButtonSize antes de adicionar seu bitmap grande usando AddBitmap.

CToolBarCtrl::GetButton

Recupera informações sobre o botão especificado em um controle de barra de ferramentas.

BOOL GetButton(
    int nIndex,
    LPTBBUTTON lpButton) const;

Parâmetros

nIndex
Índice baseado em zero do botão para o qual as informações serão recuperadas.

lpButton
Endereço da estrutura TBBUTTON que deve receber uma cópia das informações do botão. Confira CToolBarCtrl::AddButtons para obter informações sobre a estrutura TBBUTTON.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

CToolBarCtrl::GetButtonCount

Recupera uma contagem dos botões atualmente no controle de barra de ferramentas.

int GetButtonCount() const;

Valor de retorno

A contagem dos botões.

CToolBarCtrl::GetButtonInfo

Recupera as informações de um botão em uma barra de ferramentas.

int GetButtonInfo(
    int nID,
    TBBUTTONINFO* ptbbi) const;

Parâmetros

nID
O identificador do botão.

ptbbi
Um ponteiro para uma estrutura TBBUTTONINFO que recebe as informações do botão.

Valor de retorno

O índice baseado em zero do botão se bem-sucedido; caso contrário, -1.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETBUTTONINFO do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::GetButtonSize

Obtém o tamanho de um botão de barra de ferramentas.

DWORD GetButtonSize() const;

Valor de retorno

Um valor DWORD que contém os valores de largura e altura no LOWORD e HIWORD, respectivamente.

CToolBarCtrl::GetButtonText

Recupera o texto de exibição de um botão especificado no controle de barra de ferramentas atual.

CString GetButtonText(int idButton) const;

Parâmetros

idButton
[in] O identificador do botão cujo texto de exibição é recuperado.

Valor de retorno

CString que contém o texto de exibição do botão especificado.

Comentários

Esse método envia a mensagem TB_GETBUTTONTEXT, que é descrita no SDK do Windows.

CToolBarCtrl::GetColorScheme

Recupera o esquema de cores do controle de barra de ferramentas atual.

BOOL GetColorScheme(COLORSCHEME* lpColorScheme) const;

Parâmetros

lpColorScheme
[out] Ponteiro para uma estrutura COLORSCHEME que recebe as informações do esquema de cores. Quando esse método retorna, a estrutura descreve a cor de realce e a cor da sombra do controle de barra de ferramentas.

Valor de retorno

TRUE se o método for bem-sucedido. Caso contrário, FALSE.

Comentários

Esse método envia a mensagem TB_GETCOLORSCHEME, que é descrita no SDK do Windows.

CToolBarCtrl::GetDisabledImageList

Recupera a lista de imagens que um controle de barra de ferramentas usa para exibir botões desabilitados.

CImageList* GetDisabledImageList() const;

Valor de retorno

Um ponteiro para um objeto CImageList ou NULL se nenhuma lista de imagens desabilitada estiver definida.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETDISABLEDIMAGELIST do Win32, conforme descrito no SDK do Windows. A implementação do MFC de GetDisabledImageList usa um objeto CImageList que contém as imagens de botão do controle da barra de ferramentas, em vez de um identificador para uma lista de imagens.

CToolBarCtrl::GetDropTarget

Recupera a interface IDropTarget de um controle de barra de ferramentas.

HRESULT GetDropTarget(IDropTarget** ppDropTarget) const;

Parâmetros

ppDropTarget
Um ponteiro para um ponteiro de interface IDropTarget. Se ocorrer um erro, um ponteiro NULL será colocado neste endereço.

Valor de retorno

Retorna um valor HRESULT que indica êxito ou falha da operação.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETOBJECT do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::GetExtendedStyle

Recupera os estilos estendidos para um controle de barra de ferramentas.

DWORD GetExtendedStyle() const;

Valor de retorno

DWORD que representa os estilos estendidos em uso para o controle de barra de ferramentas. Para obter uma lista de estilos, consulte Estilos estendidos da barra de ferramentas no SDK do Windows.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETEXTENDEDSTYLE do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::GetHotImageList

Recupera a lista de imagens que um controle de barra de ferramentas usa para exibir botões de acesso frequente. Um botão de acesso frequente aparece realçado quando o ponteiro do mouse está sobre ele.

CImageList* GetHotImageList() const;

Valor de retorno

Um ponteiro para um objeto CImageList ou NULL se nenhuma lista de imagens desabilitada estiver definida.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETHOTIMAGELIST do Win32, conforme descrito no SDK do Windows. Um botão de acesso frequente aparece realçado quando o ponteiro do mouse está sobre ele.

CToolBarCtrl::GetHotItem

Recupera o índice do item de acesso frequente em uma barra de ferramentas.

int GetHotItem() const;

Valor de retorno

O índice baseado em zero do item frequente em uma barra de ferramentas.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETHOTITEM do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::GetImageList

Recupera a lista de imagens que um controle de barra de ferramentas usa para exibir botões em seu estado padrão.

CImageList* GetImageList() const;

Valor de retorno

Um ponteiro para um objeto CImageList ou NULL se nenhuma lista de imagens estiver definida.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETIMAGELIST do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::GetInsertMark

Recupera a marca de inserção atual da barra de ferramentas.

void GetInsertMark(TBINSERTMARK* ptbim) const;

Parâmetros

ptbim
Um ponteiro para uma estrutura TBINSERTMARK que recebe a marca de inserção.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETINSERTMARK do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::GetInsertMarkColor

Recupera a cor usada para desenhar a marca de inserção da barra de ferramentas.

COLORREF GetInsertMarkColor() const;

Valor de retorno

Um valor COLORREF que contém a cor da marca de inserção atual.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETINSERTMARKCOLOR do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::GetItemRect

Recupera o retângulo delimitador de um botão em um controle de barra de ferramentas.

BOOL GetItemRect(
    int nIndex,
    LPRECT lpRect) const;

Parâmetros

nIndex
Índice baseado em zero do botão para o qual as informações serão recuperadas.

lpRect
Endereço de uma estrutura RECT ou um objeto CRect que recebe as coordenadas do retângulo delimitador.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

Essa função não recupera o retângulo delimitador para botões cujo estado está definido como TBSTATE_HIDDEN.

CToolBarCtrl::GetMaxSize

Recupera o tamanho total de todos os botões visíveis e separadores na barra de ferramentas.

BOOL GetMaxSize(LPSIZE pSize) const;

Parâmetros

pSize
Um ponteiro para uma estrutura SIZE que recebe o tamanho dos itens.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETMAXSIZE do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::GetMaxTextRows

Recupera o número máximo de linhas de texto exibidas em um botão de barra de ferramentas.

int GetMaxTextRows() const;

Valor de retorno

O número máximo de linhas de texto exibidas em um botão de barra de ferramentas.

CToolBarCtrl::GetMetrics

Recupera as métricas do objeto CToolBarCtrl.

void GetMetrics(LPTBMETRICS ptbm) const;

Parâmetros

ptbm
Um ponteiro para a estrutura TBMETRICS do objeto CToolBarCtrl.

Comentários

Essa função de membro emula a funcionalidade da mensagem TB_GETMETRICS, conforme descrito no SDK do Windows.

CToolBarCtrl::GetPadding

Recupera o preenchimento horizontal e vertical do controle de barra de ferramentas atual.

BOOL GetPadding(
    int* pnHorzPadding,
    int* pnVertPadding) const;

Parâmetros

pnHorzPadding
[out] Um inteiro que recebe o preenchimento horizontal do controle de barra de ferramentas, em pixels.

pnVertPadding
[out] Um inteiro que recebe o preenchimento vertical do controle de barra de ferramentas, em pixels.

Valor de retorno

TRUE se o método for bem-sucedido. Caso contrário, FALSE.

Comentários

Esse método envia a mensagem TB_GETPADDING, que é descrita no SDK do Windows.

CToolBarCtrl::GetPressedImageList

Recupera a lista de imagens que o controle de barra de ferramentas atual usa para representar botões no estado pressionado.

CImageList* GetPressedImageList();

Valor de retorno

Ponteiro para um CImageList que contém a lista de imagens para o controle atual ou NULL se nenhuma lista de imagens desse tipo está definida.

Comentários

Esse método envia a mensagem TB_GETPRESSEDIMAGELIST, que é descrita no SDK do Windows.

CToolBarCtrl::GetRect

Recupera o retângulo delimitador para um botão de barra de ferramentas especificado.

BOOL GetRect(
    int nID,
    LPRECT lpRect) const;

Parâmetros

nID
O identificador do botão.

lpRect
Ponteiro para uma estrutura RECT que recebe as informações do retângulo delimitador.

Valor de retorno

TRUE se for bem-sucedido, caso contrário, FALSE.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETRECT do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::GetRows

Recupera o número de linhas de botões atualmente exibidos pelo controle de barra de ferramentas.

int GetRows() const;

Valor de retorno

O número de linhas de botões atualmente exibidos na barra de ferramentas.

Comentários

Observe que o número de linhas sempre será um, a menos que a barra de ferramentas tenha sido criada com o estilo TBSTYLE_WRAPABLE.

CToolBarCtrl::GetState

Recupera informações sobre o estado do botão especificado em um controle de barra de ferramentas, como se ele está habilitado, pressionado ou selecionado.

int GetState(int nID) const;

Parâmetros

nID
O identificador de comando do botão para o qual as informações serão recuperadas.

Valor de retorno

As informações de estado do botão se bem-sucedido; caso contrário, -1. As informações de estado do botão podem ser uma combinação dos valores listados em CToolBarCtrl::AddButtons.

Comentários

Essa função é especialmente útil se você quiser recuperar mais de um estado de botão. Para recuperar apenas um estado, use uma das seguintes funções membro: IsButtonEnabled, IsButtonChecked, IsButtonPressed, IsButtonHidden ou IsButtonIndeterminate. No entanto, a função membro GetState é a única maneira de detectar o estado do botão TBSTATE_WRAP.

CToolBarCtrl::GetString

Recupera uma cadeia de caracteres de barra de ferramentas.

int GetString(
    int nString,
    LPTSTR lpstrString,
    int cchMaxLen) const;

int GetString(
    int nString,
    CString& str) const;

Parâmetros

nString
Índice da cadeia de caracteres.

lpstrString
Ponteiro para um buffer usado para retornar a cadeia de caracteres.

cchMaxLen
Comprimento do buffer em bytes.

str
A cadeia de caracteres.

Valor de retorno

O comprimento da cadeia de caracteres, se bem-sucedido; caso contrário, -1.

Comentários

Essa função membro implementa o comportamento da mensagem TB_GETSTRING do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::GetStyle

Obtém os estilos aplicados atualmente a um controle de barra de ferramentas.

DWORD GetStyle() const;

Valor de retorno

DWORD contendo uma combinação de estilos de controle de barra de ferramentas, conforme descrito no SDK do Windows.

CToolBarCtrl::GetToolTips

Recupera o identificador do controle de dica de ferramenta, se houver, associado ao controle de barra de ferramentas.

CToolTipCtrl* GetToolTips() const;

Valor de retorno

Um ponteiro para o objeto CToolTipCtrl associado a essa barra de ferramentas ou NULL se a barra de ferramentas não tem controle de dica de ferramenta associado.

Comentários

Como o controle de barra de ferramentas normalmente cria e mantém seu próprio controle de dica de ferramenta, a maioria dos programas não precisa chamar essa função.

CToolBarCtrl::HitTest

Determina a localização de um ponto em um controle de barra de ferramentas.

int HitTest(LPPOINT ppt) const;

Parâmetros

ppt
Um ponteiro para uma estruturaPOINT que contém a coordenada x do teste de clique no membro x e a coordenada y do teste de clique no membro y. As coordenadas são relativas à área de cliente da barra de ferramentas.

Valor de retorno

Um valor inteiro que indica o local de um ponto em uma barra de ferramentas. Se o valor for zero ou positivo, esse valor retornado será o índice baseado em zero do item não paralelo no qual o ponto está.

Se o valor retornado for negativo, o ponto não estará dentro de um botão. O valor absoluto do valor retornado é o índice de um item separador ou o item não separador mais próximo.

Comentários

Essa função membro implementa o comportamento da mensagem TB_HITTEST do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::HideButton

Oculta ou mostra o botão especificado em um controle de barra de ferramentas.

BOOL HideButton(
    int nID,
    BOOL bHide = TRUE);

Parâmetros

nID
Identificador de comando do botão para ocultar ou exibir.

bHide
TRUE para ocultar o botão, FALSE para exibi-lo.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

Se você quiser alterar mais de um estado do botão, considere chamar SetState.

CToolBarCtrl::Indeterminate

Define ou desmarca o estado indeterminado do botão especificado em um controle de barra de ferramentas.

BOOL Indeterminate(
    int nID,
    BOOL bIndeterminate = TRUE);

Parâmetros

nID
Identificador de comando do botão cujo estado indeterminado deve ser definido ou desmarcado.

bIndeterminate
TRUE para definir o estado indeterminado para o botão especificado, FALSE para desmarcá-lo.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

Botões indeterminados ficam esmaecidos, como a aparência do botão Negrito na barra de ferramentas de um processador de palavras quando o texto selecionado contém caracteres em negrito e regulares. Se você quiser alterar mais de um estado do botão, considere chamar SetState.

CToolBarCtrl::InsertButton

Insere um botão em um controle de barra de ferramentas.

BOOL InsertButton(
    int nIndex,
    LPTBBUTTON lpButton);

Parâmetros

nIndex
O índice baseado em zero do botão. Essa função insere o novo botão à esquerda deste botão.

lpButton
Endereço de uma estrutura TBBUTTON que contém informações sobre o botão a ser inserido. Confira CToolBarCtrl::AddButtons para uma descrição da estrutura TBBUTTON.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

A imagem e/ou cadeia de caracteres cujo índice você fornece deve ter sido adicionada anteriormente à lista do controle de barra de ferramentas usando AddBitmap, AddStringe/ou AddStrings.

CToolBarCtrl::InsertMarkHitTest

Recupera as informações da marca de inserção de um ponto em uma barra de ferramentas.

BOOL InsertMarkHitTest(
    LPPOINT ppt,
    LPTBINSERTMARK ptbim) const;

Parâmetros

ppt
Um ponteiro para uma estrutura POINT que contém as coordenadas do teste de clique, em relação à área de cliente do controle da barra de ferramentas.

ptbim
Um ponteiro para uma estrutura TBINSERTMARK que recebe as informações da marca de inserção.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

Essa função membro implementa o comportamento da mensagem TB_INSERTMARKHITTEST do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::IsButtonChecked

Determina se o botão especificado em um controle de barra de ferramentas está marcado.

BOOL IsButtonChecked(int nID) const;

Parâmetros

nID
Identificador do comando do botão na barra de ferramentas.

Valor de retorno

Diferente de zero se o botão estiver marcado; caso contrário, zero.

Comentários

Considere chamar GetState se quiser recuperar mais de um estado do botão.

CToolBarCtrl::IsButtonEnabled

Determina se o botão especificado em um controle de barra de ferramentas está habilitado.

BOOL IsButtonEnabled(int nID) const;

Parâmetros

nID
Identificador do comando do botão na barra de ferramentas.

Valor de retorno

Diferente de zero se o botão estiver habilitado; caso contrário, zero.

Comentários

Considere chamar GetState se quiser recuperar mais de um estado do botão.

CToolBarCtrl::IsButtonHidden

Determina se o botão especificado em um controle de barra de ferramentas está oculto.

BOOL IsButtonHidden(int nID) const;

Parâmetros

nID
Identificador do comando do botão na barra de ferramentas.

Valor de retorno

Diferente de zero se o botão estiver oculto; caso contrário, zero.

Comentários

Considere chamar GetState se quiser recuperar mais de um estado do botão.

CToolBarCtrl::IsButtonHighlighted

Verifica o estado de realce de um botão de barra de ferramentas.

BOOL IsButtonHighlighted(int nID) const;

Parâmetros

nID
[in] A ID de comando para o botão de barra de ferramentas.

Valor de retorno

Inteiro positivo se o botão estiver realçado, 0 se o botão não estiver realçado ou -1 se ocorrer um erro.

CToolBarCtrl::IsButtonIndeterminate

Determina se o botão especificado em um controle de barra de ferramentas está indeterminado.

BOOL IsButtonIndeterminate(int nID) const;

Parâmetros

nID
[in] Identificador do comando do botão na barra de ferramentas.

Valor de retorno

Inteiro positivo se o botão for indeterminado, zero se o botão não for indeterminado ou -1 se ocorrer um erro.

Comentários

Botões indeterminados ficam esmaecidos, como a aparência do botão Negrito na barra de ferramentas de um processador de palavras quando o texto selecionado contém caracteres em negrito e regulares. Considere chamar GetState se quiser recuperar mais de um estado do botão.

CToolBarCtrl::IsButtonPressed

Determina se o botão especificado em um controle de barra de ferramentas está pressionado.

BOOL IsButtonPressed(int nID) const;

Parâmetros

nID
Identificador do comando do botão na barra de ferramentas.

Valor de retorno

Diferente de zero se o botão estiver pressionado; caso contrário, zero.

Comentários

Considere chamar GetState se quiser recuperar mais de um estado do botão.

CToolBarCtrl::LoadImages

Carrega bitmaps na lista de imagens de um controle de barra de ferramentas.

void LoadImages(
    int iBitmapID,
    HINSTANCE hinst);

Parâmetros

iBitmapID
ID de um bitmap que contém as imagens a serem carregadas. Para especificar seu próprio recurso de bitmap, defina esse parâmetro como a ID de um recurso de bitmap e defina hInst como NULL. Seu recurso bitmap será adicionado à lista de imagens como uma única imagem. Você pode adicionar bitmaps padrão definidos pelo sistema definindo hinst como HINST_COMMCTRL e definindo esse parâmetro como uma das seguintes IDs:

ID de bitmap Descrição
IDB_HIST_LARGE_COLOR Bitmaps do Explorer no tamanho grande
IDB_HIST_SMALL_COLOR Bitmaps do Explorer no tamanho pequeno
IDB_STD_LARGE_COLOR Bitmaps Standard no tamanho grande
IDB_STD_SMALL_COLOR Bitmaps Standard no tamanho pequeno
IDB_VIEW_LARGE_COLOR Exibir bitmaps no tamanho grande
IDB_VIEW_SMALL_COLOR Exibir bitmaps no tamanho pequeno

hinst
Identificador de instância do programa para o aplicativo de chamada. Esse parâmetro pode ser HINST_COMMCTRL para carregar uma lista de imagens padrão.

Comentários

Essa função membro implementa o comportamento da mensagem TB_LOADIMAGES do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::MapAccelerator

Mapeia um caractere de acelerador para um botão de barra de ferramentas.

BOOL MapAccelerator(
    TCHAR chAccel,
    UINT* pIDBtn);

Parâmetros

chAccel
Caractere acelerador a ser mapeado. Esse caractere é o mesmo caractere sublinhado no texto do botão.

pIDBtn
Um ponteiro para UINT que recebe o identificador de comando do botão que corresponde ao acelerador especificado em chAccel.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

Essa função membro implementa o comportamento da mensagem TB_MAPACCELERATOR do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::MarkButton

Define o estado de realce de um determinado botão em um controle de barra de ferramentas.

BOOL MarkButton(
    int nID,
    BOOL fHighlight = TRUE);

Parâmetros

nID
O identificador do botão.

fHighlight
Especifica o estado de realce a ser definido. Por padrão, TRUE. Se definido como FALSE, o botão será definido como seu estado padrão.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Essa função membro implementa o comportamento da mensagem TB_MARKBUTTON do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::MoveButton

Move um botão de um índice para outro.

BOOL MoveButton(
    UINT nOldPos,
    UINT nNewPos);

Parâmetros

nOldPos
O índice de base zero do botão a ser movido.

nNewPos
O índice baseado em zero do destino do botão.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Essa função membro implementa o comportamento da mensagem TB_MOVEBUTTON do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::PressButton

Pressiona ou solta o botão especificado em um controle de barra de ferramentas.

BOOL PressButton(int nID, BOOL bPress = TRUE);

Parâmetros

nID
[in] Identificador de comando do botão a ser pressionado ou liberado.

bPress
[in] TRUE para pressionar o botão especificado; FALSE para liberar o botão especificado. O valor padrão é TRUE.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

Comentários

Se você quiser alterar mais de um estado do botão, considere chamar SetState.

Esse método envia a mensagem TB_PRESSBUTTON, que é descrita no SDK do Windows.

CToolBarCtrl::ReplaceBitmap

Substitui o bitmap existente no controle de barra de ferramentas atual por um novo bitmap.

BOOL ReplaceBitmap(LPTBREPLACEBITMAP pReplaceBitmap);

Parâmetros

pReplaceBitmap
[in] Ponteiro para uma estrutura TBREPLACEBITMAP que descreve o bitmap a ser substituído e o novo bitmap.

Valor de retorno

TRUE se o método for bem-sucedido. Caso contrário, FALSE.

Comentários

Esse método envia a mensagem TB_REPLACEBITMAP, que é descrita no SDK do Windows.

Exemplo

O exemplo de código a seguir substitui o bitmap da barra de ferramentas padrão por um bitmap diferente.

{
   // Replace one toolbar bitmap with another.
   TBREPLACEBITMAP tbrb;
   tbrb.hInstOld = ::AfxGetInstanceHandle();
   tbrb.nIDOld = IDR_MAINFRAME;
   tbrb.hInstNew = ::AfxGetInstanceHandle();
   tbrb.nIDNew = IDR_MAINFRAME1;
   tbrb.nButtons = 8;
   CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
   BOOL bRet = m_toolBarCtrl.ReplaceBitmap(&tbrb);
}

CToolBarCtrl::RestoreState

Restaura o estado do controle de barra de ferramentas do local no registro especificado pelos parâmetros.

void RestoreState(
    HKEY hKeyRoot,
    LPCTSTR lpszSubKey,
    LPCTSTR lpszValueName);

Parâmetros

hKeyRoot
Identifica uma chave aberta atualmente no registro ou qualquer um dos seguintes valores de identificador reservado predefinidos:

  • HKEY_CLASSES_ROOT

  • HKEY_CURRENT_USER

  • HKEY_LOCAL_MACHINE

  • HKEY_USERS

lpszSubKey
Aponta para uma cadeia de caracteres terminada em NULL que contém o nome da subchave à qual um valor está associado. Esse parâmetro pode ser NULL ou um ponteiro para uma cadeia de caracteres vazia. Se o parâmetro for NULL, o valor será adicionado à chave identificada pelo parâmetro hKeyRoot.

lpszValueName
Aponta para uma cadeia de caracteres que contém o nome do valor a ser recuperado. Se um valor com esse nome ainda não estiver presente na chave, a função o adicionará à chave.

CToolBarCtrl::SaveState

Salva o estado do controle de barra de ferramentas no local no registro especificado pelos parâmetros.

void SaveState(
    HKEY hKeyRoot,
    LPCTSTR lpszSubKey,
    LPCTSTR lpszValueName);

Parâmetros

hKeyRoot
Identifica uma chave aberta atualmente no registro ou qualquer um dos seguintes valores de identificador reservado predefinidos:

  • HKEY_CLASSES_ROOT

  • HKEY_CURRENT_USER

  • HKEY_LOCAL_MACHINE

  • HKEY_USERS

lpszSubKey
Aponta para uma cadeia de caracteres terminada em NULL que contém o nome da subchave à qual um valor está associado. Esse parâmetro pode ser NULL ou um ponteiro para uma cadeia de caracteres vazia. Se o parâmetro for NULL, o valor será adicionado à chave identificada pelo parâmetro hKeyRoot.

lpszValueName
Aponta para uma cadeia de caracteres contendo o nome do valor a ser definido. Se um valor com esse nome ainda não estiver presente na chave, a função o adicionará à chave.

CToolBarCtrl::SetAnchorHighlight

Define a configuração de realce de âncora para uma barra de ferramentas.

BOOL SetAnchorHighlight(BOOL fAnchor = TRUE);

Parâmetros

fAnchor
[in] Especifica se o realce de âncora está habilitado ou desabilitado. Se esse valor for diferente de zero, o realce de âncora será habilitado. Se esse valor for zero, o realce de âncora será desabilitado

Valor de retorno

A configuração de âncora anterior. Se o realce estiver habilitado, esse valor será diferente de zero. Se o realce não estiver habilitado, esse valor será zero.

Comentários

Esse método implementa o comportamento da mensagem TB_SETANCHORHIGHLIGHT do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::SetBitmapSize

Define o tamanho das imagens com bits atuais a serem adicionadas a um controle de barra de ferramentas.

BOOL SetBitmapSize(CSize size);

Parâmetros

size
Largura e altura, em pixels, das imagens de bitmap.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

Essa função deve ser chamada somente antes de adicionar bitmaps à barra de ferramentas. Se o aplicativo não definir explicitamente o tamanho do bitmap, ele será padrão de 16 por 15 pixels.

CToolBarCtrl::SetButtonInfo

Define as informações de um botão existente em uma barra de ferramentas.

BOOL SetButtonInfo(
    int nID,
    TBBUTTONINFO* ptbbi);

Parâmetros

nID
O identificador do botão.

ptbbi
Um ponteiro para uma estrutura TBBUTTONINFO que recebe as informações do botão.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

A função membro implementa o comportamento da mensagem TB_SETBUTTONINFO do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::SetButtonSize

Define o tamanho dos botões no controle de barra de ferramentas.

BOOL SetButtonSize(CSize size);

Parâmetros

size
Largura e altura, em pixels, dos botões.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

O tamanho do botão sempre deve ser pelo menos tão grande quanto o tamanho do bitmap que ele inclui. Essa função deve ser chamada somente antes de adicionar bitmaps à barra de ferramentas. Se o aplicativo não definir explicitamente o tamanho do botão, ele será padrão de 24 por 22 pixels.

Exemplo

Confira o exemplo de CToolBar::GetToolBarCtrl.

CToolBarCtrl::SetButtonStructSize

Especifica o tamanho da estrutura TBBUTTON.

void SetButtonStructSize(int nSize);

Parâmetros

nSize
O tamanho, em bytes, da estrutura TBBUTTON.

Comentários

Se você quisesse armazenar dados extras na estrutura TBBUTTON, poderia derivar uma nova estrutura de TBBUTTON, adicionando os membros necessários ou criando uma nova estrutura que contém uma estrutura TBBUTTON como seu primeiro membro. Em seguida, você chamaria essa função para informar ao controle de barra de ferramentas o tamanho da nova estrutura.

Confira CToolBarCtrl::AddButtons para obter mais informações sobre a estrutura TBBUTTON.

CToolBarCtrl::SetButtonWidth

Define as larguras mínimas e máximas do botão no controle de barra de ferramentas.

BOOL SetButtonWidth(
    int cxMin,
    int cxMax);

Parâmetros

cxMin
Largura mínima do botão, em pixels. Os botões de barra de ferramentas nunca serão mais estreitos que esse valor.

cxMax
Largura máxima do botão, em pixels. Se o texto do botão for muito largo, o controle o exibirá com reticências.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Essa função membro implementa o comportamento da mensagem TB_SETBUTTONWIDTH do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::SetCmdID

Define o identificador de comando que será enviado para a janela do proprietário quando o botão especificado é pressionado.

BOOL SetCmdID(
    int nIndex,
    UINT nID);

Parâmetros

nIndex
O índice baseado em zero do botão cuja ID de comando deve ser definida.

nID
A ID de comando para definir o botão selecionado.

Valor de retorno

Retorna diferente de zero se bem-sucedido; caso contrário, zero.

CToolBarCtrl::SetColorScheme

Define o esquema de cores do controle de barra de ferramentas atual.

void SetColorScheme(const COLORSCHEME* lpColorScheme);

Parâmetros

lpColorScheme
[in] Ponteiro para uma estrutura COLORSCHEME que descreve a cor de realce e a cor da sombra do controle de barra de ferramentas.

Comentários

Esse método não terá efeito se um tema visual do Windows Vista estiver definido.

Esse método envia a mensagem TB_SETCOLORSCHEME, que é descrita no SDK do Windows.

Exemplo

O exemplo de código a seguir define o esquema de cores para o controle de barra de ferramentas atual. O exemplo de código torna as bordas esquerda e superior de cada botão de ferramenta vermelhas e as bordas direita e inferior azuis. Quando o usuário pressiona o botão, as bordas vermelhas do botão ficam azuis e suas bordas azuis ficam vermelhas.

//Set color scheme for the current toolbar control.
//Make the left and top edges of the tool button red,
//and the right and bottom edges blue. The colors
//reverse when a button is pressed.
//This method has no effect if the Vista visual theme
//is set.
{
   COLORSCHEME cs;
   cs.dwSize = sizeof(COLORSCHEME);
   cs.clrBtnHighlight = RGB(255, 0, 0);
   cs.clrBtnShadow = RGB(0, 0, 255);
   CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
   m_toolBarCtrl.SetColorScheme(&cs);
}

CToolBarCtrl::SetDisabledImageList

Define a lista de imagens que o controle de barra de ferramentas usará para exibir os botões desabilitados.

CImageList* SetDisabledImageList(CImageList* pImageList);

Parâmetros

pImageList
Um ponteiro para um objeto CImageList que contém as imagens a serem usadas pelo controle da barra de ferramentas para exibir imagens de botão desabilitadas.

Valor de retorno

Um ponteiro para um objeto CImageList que foi usado anteriormente pelo controle da barra de ferramentas para exibir imagens de botão desabilitadas.

Comentários

Essa função membro implementa o comportamento da mensagem TB_SETDISABLEDIMAGELIST do Win32, conforme descrito no SDK do Windows. A implementação do MFC de SetDisabledImageList usa um objeto CImageList que contém as imagens de botão desabilitadas do controle da barra de ferramentas, em vez de um identificador para uma lista de imagens.

CToolBarCtrl::SetDrawTextFlags

Define os sinalizadores na função DrawText do Win32, que é usada para desenhar o texto no retângulo especificado, formatado de acordo com a forma como os sinalizadores são definidos.

DWORD SetDrawTextFlags(
    DWORD dwMask,
    DWORD dwDTFlags);

Parâmetros

dwMask
Uma combinação de um ou mais sinalizadores DT_, especificados na função DrawText do Win32, que indica quais bits em dwDTFlags serão usados ao desenhar o texto.

dwDTFlags
Uma combinação de um ou mais sinalizadores DT_, especificados na função DrawText do Win32, que indicam como o texto do botão será desenhado. Esse valor é passado para DrawText quando o texto do botão é desenhado.

Valor de retorno

Um DWORD que contém os sinalizadores anteriores de desenho de texto.

Comentários

Essa função membro implementa o comportamento da mensagem TB_SETDRAWTEXTFLAGS do Win32, conforme descrito no SDK do Windows. Essa função membro define os sinalizadores na função DrawText do Win32, que desenham o texto no retângulo especificado, formatado de acordo com a forma como os sinalizadores são definidos.

CToolBarCtrl::SetExtendedStyle

Define os estilos estendidos para um controle de barra de ferramentas.

DWORD SetExtendedStyle(DWORD dwExStyle);

Parâmetros

dwExStyle
Um valor que especifica os novos estilos estendidos. Esse parâmetro pode ser uma combinação dos estilos estendidos da barra de ferramentas.

Valor de retorno

Um DWORD que representa os estilos estendidos anteriores. Para obter uma lista de estilos, consulte Estilos estendidos da barra de ferramentas no SDK do Windows.

Comentários

Essa função membro implementa o comportamento da mensagem TB_SETEXTENDEDSTYLE do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::SetHotImageList

Define a lista de imagens que o controle de barra de ferramentas usará para exibir os botões de acesso frequente.

CImageList* SetHotImageList(CImageList* pImageList);

Parâmetros

pImageList
Um ponteiro para um objeto CImageList que contém as imagens a serem usadas pelo controle da barra de ferramentas para exibir imagens de botão frequentes.

Valor de retorno

Um ponteiro para um objeto CImageList que foi usado anteriormente pelo controle da barra de ferramentas para exibir imagens de botão frequentes.

Comentários

Essa função membro implementa o comportamento da mensagem TB_SETHOTIMAGELIST do Win32, conforme descrito no SDK do Windows.

A implementação do MFC de SetHotImageList usa um objeto CImageList que contém as imagens de botão frequentes do controle da barra de ferramentas, em vez de um identificador para uma lista de imagens. Um botão de acesso frequente aparece realçado quando o ponteiro está sobre ele.

CToolBarCtrl::SetHotItem

Define o item de acesso frequente em uma barra de ferramentas.

int SetHotItem(int nHot);

Parâmetros

nHot
O número de índice baseado em zero do item que será tornado frequente. Se esse valor for -1, nenhum dos itens será frequente.

Valor de retorno

O índice do item frequente anterior ou -1 se não houvesse nenhum item frequente.

Comentários

Essa função membro implementa o comportamento da mensagem TB_SETHOTITEM do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::SetImageList

Define a lista de imagens que a barra de ferramentas usará para exibir os botões que estão em seu estado padrão.

CImageList* SetImageList(CImageList* pImageList);

Parâmetros

pImageList
Um ponteiro para um objeto CImageList que contém as imagens a serem usadas pelo controle da barra de ferramentas para exibir imagens de botão no estado padrão.

Valor de retorno

Um ponteiro para um objeto CImageList que foi usado anteriormente pelo controle da barra de ferramentas para exibir imagens de botão no estado padrão.

Comentários

Essa função membro implementa o comportamento da mensagem TB_SETIMAGELIST do Win32, conforme descrito no SDK do Windows.

A implementação do MFC de SetImageList usa um objeto CImageList que contém as imagens de botão do controle da barra de ferramentas, em vez de um identificador para uma lista de imagens.

CToolBarCtrl::SetIndent

Define o recuo do primeiro botão em um controle de barra de ferramentas.

BOOL SetIndent(int iIndent);

Parâmetros

iIndent
O valor que especifica o recuo, em pixels.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

CToolBarCtrl::SetInsertMark

Define a marca de inserção atual da barra de ferramentas.

void SetInsertMark(TBINSERTMARK* ptbim);

Parâmetros

ptbim
Um ponteiro para a estrutura TBINSERTMARK que contém a marca de inserção.

Comentários

Essa função membro implementa o comportamento da mensagem TB_SETINSERTMARK do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::SetInsertMarkColor

Define a cor usada para desenhar a marca de inserção da barra de ferramentas.

COLORREF SetInsertMarkColor(COLORREF clrNew);

Parâmetros

clrNew
Um valor COLORREF que contém a nova cor da marca de inserção.

Valor de retorno

Um valor COLORREF que contém a cor da marca de inserção anterior.

Comentários

Essa função membro implementa o comportamento da mensagem TB_SETINSERTMARKCOLOR do Win32, conforme descrito no SDK do Windows.

CToolBarCtrl::SetMaxTextRows

Define o número máximo de linhas de texto exibidas em um botão de barra de ferramentas.

BOOL SetMaxTextRows(int iMaxRows);

Parâmetros

iMaxRows
Número de máximo de linhas a serem definidas.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

CToolBarCtrl::SetMetrics

Define as métricas do objeto CToolBarCtrl.

void SetMetrics(LPTBMETRICS ptbm);

Parâmetros

ptbm
Um ponteiro para a estrutura TBMETRICS do objeto CToolBarCtrl.

Comentários

Essa função de membro emula a funcionalidade da mensagem TB_SETMETRICS, conforme descrito no SDK do Windows.

CToolBarCtrl::SetOwner

Define a janela do proprietário para o controle de barra de ferramentas.

void SetOwner(CWnd* pWnd);

Parâmetros

pWnd
Ponteiro para o objeto derivado de CWnd ou CWnd que será a nova janela de proprietário para o controle de barra de ferramentas.

Comentários

A janela de proprietário é a janela que recebe notificações da barra de ferramentas.

CToolBarCtrl::SetPadding

Define o preenchimento horizontal e vertical do controle de barra de ferramentas atual.

DWORD SetPadding(
    int nHorzPadding,
    int nVertPadding);

Parâmetros

nHorzPadding
[in] Especifica o preenchimento horizontal do controle de barra de ferramentas, em pixels.

nVertPadding
[in] Especifica o preenchimento vertical do controle de barra de ferramentas, em pixels.

Valor de retorno

DWORD cuja palavra baixa contém o valor de preenchimento horizontal anterior e cuja palavra alta contém o valor de preenchimento vertical anterior. Os valores de preenchimento são medidos em pixels.

Comentários

Esse método envia a mensagem TB_SETPADDING, que é descrita no SDK do Windows.

Exemplo

O exemplo de código a seguir define o preenchimento horizontal e vertical do controle de barra de ferramentas atual como 20 pixels.

{
   // Set the horizontal and vertical padding of the current
   // toolbar control.
   CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
   m_toolBarCtrl.SetPadding(50, 50);
}

CToolBarCtrl::SetPressedImageList

Define a lista de imagens que o controle de barra de ferramentas atual usa para representar botões no estado pressionado.

CImagelist* SetPressedImageList(
    int iImageID,
    CImageList* pImageList);

Parâmetros

iImageID
[in] O índice baseado em zero da lista de imagens. Defina esse parâmetro como zero se usar apenas uma lista de imagens.

pImageList
[in] Ponteiro para um CImageList que contém a nova lista de imagens.

Valor de retorno

Ponteiro para um CImageList que contém a lista de imagens anterior para o controle atual ou NULL se nenhuma lista de imagens desse tipo foi definida.

Comentários

Esse método envia a mensagem TB_SETPRESSEDIMAGELIST, que é descrita no SDK do Windows.

Exemplo

O exemplo de código a seguir define a lista de imagens pressionadas como a mesma da lista de imagens padrão.

{
   // SetPressedImageList
   // Set the pressed image list to be the same as the
   // normal image list.
   CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
   CImageList *pNormalCil = m_toolBarCtrl.GetImageList();
   CImageList *pPressedCil = m_toolBarCtrl.GetPressedImageList();
   m_toolBarCtrl.SetPressedImageList(0, pNormalCil);
}

CToolBarCtrl::SetRows

Solicita que o controle de barra de ferramentas seja redimensionado para o número de linhas solicitado.

void SetRows(
    int nRows,
    BOOL bLarger,
    LPRECT lpRect);

Parâmetros

nRows
O número solicitado de linhas.

bLarger
Informa se deve usar mais linhas ou menos linhas se a barra de ferramentas não puder ser redimensionada para o número solicitado de linhas.

lpRect
Aponta para o objeto CRect ou estrutura RECT que receberá o novo retângulo delimitador da barra de ferramentas.

Comentários

Se a barra de ferramentas não puder se redimensionar para o número ou linhas solicitados, ela se redimensionará para o próximo tamanho válido maior ou menor, dependendo do valor de bLarger. Se bLarger for TRUE, o novo número de linhas será maior do que o número solicitado. Se bLarger for FALSE, o novo número de linhas será menor do que o número solicitado.

Um determinado número de linhas será válido para a barra de ferramentas se os botões puderem ser organizados de modo que todas as linhas tenham o mesmo número de botões (exceto talvez a última linha). Por exemplo, uma barra de ferramentas que contém quatro botões não pôde ser dimensionada para três linhas, porque as duas últimas linhas teriam que ser mais curtas. Se você tentasse dimensioná-lo para três linhas, obteria quatro linhas se bLarger fosse TRUE e duas linhas se bLarger fosse FALSE.

Se houver separadores na barra de ferramentas, as regras para quando um determinado número de linhas é válido serão mais complicadas. O layout é calculado de forma que os grupos de botões (botões com um separador antes do primeiro e do último botão do grupo) nunca sejam divididos em várias linhas, a menos que o grupo não caiba em uma linha.

Se um grupo não se ajustar em uma linha, o próximo grupo começará na próxima linha, ainda que ele caiba na linha em que o grupo grande terminou. A finalidade dessa regra é tornar a separação entre grupos grandes mais perceptível. Os separadores verticais resultantes são contados como linhas.

Observe também que a função membro SetRows sempre escolherá o layout que resulta no menor tamanho da barra de ferramentas. A criação de uma barra de ferramentas com o estilo TBSTYLE_WRAPABLE e redimensionamento do controle aplicará o método descrito acima dada a largura do controle.

Essa função só pode ser chamada para barras de ferramentas que foram criadas com o estilo TBSTYLE_WRAPABLE.

CToolBarCtrl::SetState

Define o estado do botão especificado em um controle de barra de ferramentas.

BOOL SetState(
    int nID,
    UINT nState);

Parâmetros

nID
Identificador de comando do botão.

nState
Sinalizadores de estado. Pode ser uma combinação dos valores listados para estados de botão em CToolBarCtrl::AddButtons.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

Essa função é especialmente útil se você quiser definir mais de um estado de botão. Para definir apenas um estado, use uma das seguintes funções membro: EnableButton, CheckButton, HideButton, Indeterminate ou PressButton.

CToolBarCtrl::SetStyle

Define os estilos de um controle de barra de ferramentas.

void SetStyle(DWORD dwStyle);

Parâmetros

dwStyle
DWORD contendo uma combinação de estilos de controle de barra de ferramentas, conforme descrito no SDK do Windows.

CToolBarCtrl::SetToolTips

Associa um controle de dica de ferramenta a um controle de barra de ferramentas.

void SetToolTips(CToolTipCtrl* pTip);

Parâmetros

pTip
Ponteiro para o objeto CToolTipCtrl.

CToolBarCtrl::SetWindowTheme

Define o estilo visual do objeto CToolBarCtrl.

HRESULT SetWindowTheme(LPCWSTR pszSubAppName);

Parâmetros

pszSubAppName
Um ponteiro para uma cadeia de caracteres Unicode que contém o estilo visual da barra de ferramentas a ser definida.

Valor de retorno

O valor retornado não é usado.

Comentários

Essa função de membro emula a funcionalidade da mensagem TB_SETWINDOWTHEME, conforme descrito no SDK do Windows.

Confira também

Exemplo de MFC CMNCTRL1
Exemplo de MFC MFCIE
Classe CWnd
Gráfico da hierarquia
Classe CToolBar