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:
Construa o objeto
CToolBarCtrl
.Chame
Create
para criar o controle comum da barra de ferramentas do Windows e anexá-lo ao objetoCToolBarCtrl
. Indique o estilo da barra de ferramentas usando estilos, comoTBSTYLE_TRANSPARENT
para uma barra de ferramentas transparente ouTBSTYLE_DROPDOWN
para uma barra de ferramentas que dá suporte a botões de estilo suspenso.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
ouSetDisabledImageList
.Para usar rótulos de cadeia de caracteres para botões, adicione as cadeias de caracteres à barra de ferramentas chamando
AddString
e/ouAddStrings
.
Adicione estruturas de botão à barra de ferramentas chamando
AddButtons
.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 mensagensTTN_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 deCFrameWnd
, as dicas de ferramenta serão exibidas sem esforço extra de você porqueCFrameWnd
fornecerá um manipulador padrão.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
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 membrofsStyle
tiver o valorTBSTYLE_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 estiloTBSTYLE_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 estadoTBSTATE_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
, AddString
e/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
SempreWS_VISIBLE
GeralmenteWS_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
, AddString
e/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