Compartilhar via


Classe CReBarCtrl

Encapsula a funcionalidade de um controle rebar, que é um contêiner para uma janela filho.

Sintaxe

class CReBarCtrl : public CWnd

Membros

Construtores públicos

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

Métodos públicos

Nome Descrição
CReBarCtrl::BeginDrag Coloca o controle rebar no modo de arrastar e soltar.
CReBarCtrl::Create Cria o controle rebar e o anexa ao objeto CReBarCtrl.
CReBarCtrl::CreateEx Cria um controle rebar com os estilos estendidos especificados do Windows e o anexa a um objeto CReBarCtrl.
CReBarCtrl::DeleteBand Exclui uma banda de um controle rebar.
CReBarCtrl::DragMove Atualizações a posição de arrastar no controle rebar após uma chamada para BeginDrag.
CReBarCtrl::EndDrag Encerra a operação de arrastar e soltar do controle rebar.
CReBarCtrl::GetBandBorders Recupera as bordas de uma banda.
CReBarCtrl::GetBandCount Recupera a contagem de faixas atualmente no controle rebar.
CReBarCtrl::GetBandInfo Recupera informações sobre uma banda especificada em um controle rebar.
CReBarCtrl::GetBandMargins Recupera as margens de uma banda.
CReBarCtrl::GetBarHeight Recupera a altura do controle rebar.
CReBarCtrl::GetBarInfo Recupera informações sobre o controle rebar e a lista de imagens que ele usa.
CReBarCtrl::GetBkColor Recupera a cor padrão da tela de fundo de um controle rebar.
CReBarCtrl::GetColorScheme Recupera a estrutura COLORSCHEME associada ao controle rebar.
CReBarCtrl::GetDropTarget Recupera o ponteiro de interface IDropTarget do controle rebar.
CReBarCtrl::GetExtendedStyle Obtém o estilo estendido do controle rebar atual.
CReBarCtrl::GetImageList Recupera a lista de imagens associada a um controle rebar.
CReBarCtrl::GetPalette Recupera a paleta atual do controle rebar.
CReBarCtrl::GetRect Recupera o retângulo delimitador para uma determinada banda em um controle rebar.
CReBarCtrl::GetRowCount Recupera o número de linhas de banda em um controle rebar.
CReBarCtrl::GetRowHeight Recupera a altura de uma linha especificada em um controle rebar.
CReBarCtrl::GetTextColor Recupera a cor de texto padrão de um controle rebar.
CReBarCtrl::GetToolTips Recupera o identificador de qualquer controle de dica de ferramenta associado ao controle rebar.
CReBarCtrl::HitTest Determina qual parte de uma banda rebar está em um determinado ponto na tela, se existe uma banda rebar nesse ponto.
CReBarCtrl::IDToIndex Converte um identificador de banda (ID) em um índice de banda em um controle rebar.
CReBarCtrl::InsertBand Insere uma nova banda em um controle rebar.
CReBarCtrl::MaximizeBand Redimensiona uma banda em um controle rebar para seu maior tamanho.
CReBarCtrl::MinimizeBand Redimensiona uma banda em um controle rebar para seu menor tamanho.
CReBarCtrl::MoveBand Move uma banda de um índice para outro.
CReBarCtrl::PushChevron Efetua push de forma programática de uma divisa.
CReBarCtrl::RestoreBand Redimensiona uma banda em um controle rebar para seu tamanho ideal.
CReBarCtrl::SetBandInfo Define características de uma banda existente em um controle rebar.
CReBarCtrl::SetBandWidth Define a largura da banda encaixada especificada no controle rebar atual.
CReBarCtrl::SetBarInfo Define as características de um controle rebar.
CReBarCtrl::SetBkColor Define a cor padrão da tela de fundo de um controle rebar.
CReBarCtrl::SetColorScheme Define o esquema de cores para os botões em um controle rebar.
CReBarCtrl::SetExtendedStyle Define o estilo estendido do controle rebar atual.
CReBarCtrl::SetImageList Define a lista de imagens de um controle rebar.
CReBarCtrl::SetOwner Define a janela de proprietário de um controle rebar.
CReBarCtrl::SetPalette Define a paleta atual do controle rebar.
CReBarCtrl::SetTextColor Define a cor de texto padrão de um controle rebar.
CReBarCtrl::SetToolTips Associa um controle de dica de ferramenta ao controle rebar.
CReBarCtrl::SetWindowTheme Define o estilo visual do controle rebar.
CReBarCtrl::ShowBand Mostra ou oculta uma determinada banda em um controle rebar.
CReBarCtrl::SizeToRect Ajusta um controle rebar a um retângulo especificado.

Comentários

O aplicativo no qual reside o controle rebar atribui a janela filho contida pelo controle rebar à faixa rebar. A janela filho geralmente é outro controle comum.

Os controles rebar contêm uma ou mais bandas. Cada banda pode conter uma combinação de uma barra de garras, um bitmap, um rótulo de texto e uma janela filho. A banda pode conter apenas um desses itens.

O controle rebar pode exibir a janela filho em um bitmap de plano de fundo especificado. Todas as faixas de controle rebar podem ser redimensionadas, exceto aquelas que usam o estilo RBBS_FIXEDSIZE. À medida que você reposiciona ou redimensiona uma faixa de controle rebar, o controle rebar gerencia o tamanho e a posição da janela filho atribuída a essa banda. Para redimensionar ou alterar a ordem das bandas dentro do controle, clique e arraste a barra de garras de uma banda.

A ilustração a seguir mostra um controle rebar que três bandas.

  • A banda 0 contém um controle rebar de ferramentas simples e transparente.

  • A banda 1 contém botões suspensos transparentes padrão e transparente.

  • A banda 2 contém uma caixa de combinação e quatro botões padrão.

    Exemplo de um menu de vergalhões.

Controle rebar

Suporte a controles rebar:

  • Listas de imagens.

  • Tratamento de mensagens.

  • Funcionalidade de desenho personalizado.

  • Uma variedade de estilos de controle, além de estilos de janela padrão. Para obter uma lista desses estilo, consulte Estilos de controle rebar no SDK do Windows.

Para obter mais informações, confira Como CReBarCtrl.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CReBarCtrl

Requisitos

Cabeçalho: afxcmn.h

CReBarCtrl::BeginDrag

Implementa o comportamento da mensagem RB_BEGINDRAG do Win32, conforme descrito no SDK do Windows.

void BeginDrag(
    UINT uBand,
    DWORD dwPos = (DWORD)-1);

Parâmetros

uBand
Índice baseado em zero da banda que a operação de arrastar e soltar afetará.

dwPos
Um valor DWORD que contém as coordenadas iniciais do mouse. A coordenada horizontal está contida no LOWORD e a coordenada vertical está contida no HIWORD. Se você passar (DWORD)-1, o controle rebar usará a posição do mouse na última vez que o thread do controle for chamado GetMessage ou PeekMessage.

CReBarCtrl::Create

Cria o controle rebar e o anexa ao objeto CReBarCtrl.

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

Parâmetros

dwStyle
Especifica a combinação de estilos de controle rebar aplicados ao controle. Consulte Estilos de controle rebar no SDK do Windows para obter uma lista de estilos com suporte.

rect
Uma referência a um objeto CRect ou estrutura RECT, que é a posição e o tamanho do controle rebar.

pParentWnd
Um ponteiro para um objeto CWnd que é a janela pai do controle rebar. Não pode ser NULL.

Nid
Especifica a ID de controle do controle rebar.

Valor de retorno

Diferente de zero se o objeto foi criado com êxito; caso contrário, 0.

Comentários

Crie um controle rebar em duas etapas:

  1. Chame CReBarCtrl para construir um objeto CReBarCtrl.

  2. Chame essa função de membro, que cria o controle rebar do Windows e o anexa ao objeto CReBarCtrl.

Quando você chama Create, os controles comuns são inicializados.

Exemplo

CReBarCtrl *pReBarCtrl = new CReBarCtrl();
CRect rect;
GetWindowRect(rect);
pReBarCtrl->Create(RBS_BANDBORDERS, rect, this, AFX_IDW_REBAR);

// Use ReBar Control.

delete pReBarCtrl;

CReBarCtrl::CreateEx

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

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, confira o parâmetro dwExStyle para CreateWindowEx no SDK do Windows.

dwStyle
Especifica a combinação de estilos de controle rebar aplicados ao controle. Para obter uma lista de estilos com suporte, consulte Estilos de controle rebar no SDK do Windows.

rect
Uma referência a uma estrutura RECT que descreve o tamanho e a posição da janela a ser criada, em coordenadas do 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 Criar para aplicar estilos estendidos do Windows, especificados pelo prefácio WS_EX_ de estilos estendidos do Windows.

CReBarCtrl::CReBarCtrl

Cria um objeto CReBarCtrl.

CReBarCtrl();

Exemplo

Veja o exemplo de CReBarCtrl::Create.

CReBarCtrl::DeleteBand

Implementa o comportamento da mensagem RB_DELETEBAND do Win32, conforme descrito no SDK do Windows.

BOOL DeleteBand(UINT uBand);

Parâmetros

uBand
Índice baseado em zero da banda a ser excluída.

Valor de retorno

Diferente de zero se a banda for excluída com êxito; caso contrário, zero.

Exemplo

UINT nCount = m_wndReBar.GetReBarCtrl().GetBandCount();

if (nCount > 0)
   m_wndReBar.GetReBarCtrl().DeleteBand(nCount - 1);

CReBarCtrl::DragMove

Implementa o comportamento da mensagem RB_DRAGMOVE do Win32, conforme descrito no SDK do Windows.

void DragMove(DWORD dwPos = (DWORD)-1);

Parâmetros

dwPos
Um valor DWORD que contém as novas coordenadas do mouse. A coordenada horizontal está contida no LOWORD e a coordenada vertical está contida no HIWORD. Se você passar (DWORD)-1, o controle rebar usará a posição do mouse na última vez que o thread do controle for chamado GetMessage ou PeekMessage.

CReBarCtrl::EndDrag

Implementa o comportamento da mensagem RB_ENDDRAG do Win32, conforme descrito no SDK do Windows.

void EndDrag();

CReBarCtrl::GetBandBorders

Implementa o comportamento da mensagem RB_GETBANDBORDERS do Win32, conforme descrito no SDK do Windows.

void GetBandBorders(
    UINT uBand,
    LPRECT prc) const;

Parâmetros

uBand
Índice baseado em zero da banda para a qual as bordas serão recuperadas.

prc
Um ponteiro para uma estrutura RECT que receberá as bordas da banda. Se o controle rebar tiver o estilo RBS_BANDBORDERS, cada membro dessa estrutura receberá o número de pixels, no lado correspondente da banda, que constituem a borda. Se o controle rebar não tiver o estilo RBS_BANDBORDERS, somente o membro esquerdo dessa estrutura receberá informações válidas. Para obter uma descrição dos estilos de controle rebar, consulte Estilos de controle rebar no SDK do Windows.

CReBarCtrl::GetBandCount

Implementa o comportamento da mensagem RB_GETBANDCOUNT do Win32, conforme descrito no SDK do Windows.

UINT GetBandCount() const;

Valor de retorno

O número de bandas atribuídas ao controle.

CReBarCtrl::GetBandInfo

Implementa o comportamento da mensagem RB_GETBANDINFO do Win32, conforme descrito no SDK do Windows.

BOOL GetBandInfo(
    UINT uBand,
    REBARBANDINFO* prbbi) const;

Parâmetros

uBand
Índice baseado em zero da banda para quais informações serão recuperadas.

prbbi
Um ponteiro para uma estrutura REBARBANDINFO para receber as informações da banda. Você deve definir o membro cbSize dessa estrutura como sizeof(REBARBANDINFO) e definir o membro fMask dos itens que deseja recuperar antes de enviar essa mensagem.

Valor de retorno

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

CReBarCtrl::GetBandMargins

Recupera as margens da banda.

void GetBandMargins(PMARGINS pMargins);

Parâmetros

pMargins
Um ponteiro para uma estrutura MARGINSque receberá as informações.

Comentários

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

CReBarCtrl::GetBarHeight

Recupera a altura barra rebar.

UINT GetBarHeight() const;

Valor de retorno

Valor que representa a altura em pixels do controle.

CReBarCtrl::GetBarInfo

Implementa o comportamento da mensagem RB_GETBARINFO do Win32, conforme descrito no SDK do Windows.

BOOL GetBarInfo(REBARINFO* prbi) const;

Parâmetros

prbi
Um ponteiro para uma estrutura REBARINFO que receberá as informações de controle rebar. Você deve definir o membro cbSize dessa estrutura como sizeof(REBARINFO) antes de enviar esta mensagem.

Valor de retorno

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

CReBarCtrl::GetBkColor

Implementa o comportamento da mensagem RB_GETBKCOLOR do Win32, conforme descrito no SDK do Windows.

COLORREF GetBkColor() const;

Valor de retorno

Um valor COLORREF que representa a cor da tela de fundo padrão atual.

CReBarCtrl::GetColorScheme

Recupera a estrutura COLORSCHEME para o controle rebar.

BOOL GetColorScheme(COLORSCHEME* lpcs);

Parâmetros

lpcs
Um ponteiro para uma estrutura COLORSCHEME, conforme descrito no SDK do Windows.

Valor de retorno

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

Comentários

A estrutura COLORSCHEME inclui a cor de realce do botão e a cor da sombra do botão.

CReBarCtrl::GetDropTarget

Implementa o comportamento da mensagem RB_GETDROPTARGET do Win32, conforme descrito no SDK do Windows.

IDropTarget* GetDropTarget() const;

Valor de retorno

Um ponteiro para uma interface IDropTarget.

CReBarCtrl::GetExtendedStyle

Obtém os estilos estendidos do controle rebar atual.

DWORD GetExtendedStyle() const;

Valor de retorno

Uma combinação bit a bit (OR) de sinalizadores que indicam os estilos estendidos. Os possíveis sinalizadores são RBS_EX_SPLITTER e RBS_EX_TRANSPARENT. Para obter mais informações, consulte o parâmetro dwMask do método CReBarCtrl::SetExtendedStyle.

Comentários

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

CReBarCtrl::GetImageList

Obtém o objeto CImageList associado ao controle rebar.

CImageList* GetImageList() const;

Valor de retorno

Um ponteiro para um objeto CImageList. Retorna NULL se nenhuma lista de imagens estiver definida para o controle.

Comentários

Essa função de membro usa informações de tamanho e máscara armazenadas na estrutura REBARINFO, conforme descrito no SDK do Windows.

CReBarCtrl::GetPalette

Recupera a paleta atual do controle rebar.

CPalette* GetPalette() const;

Valor de retorno

Um ponteiro para um objeto CPalette que especifica a paleta atual do controle rebar.

Comentários

Observe que essa função de membro usa um objeto CPalette como seu valor de retorno, em vez de um HPALETTE.

Exemplo

CPalette *pPalette = m_wndReBar.GetReBarCtrl().GetPalette();
if (pPalette)
{
   int nEntries = pPalette->GetEntryCount();
   CString msg;
   msg.Format(_T("Number of palette entries: %d"), nEntries);
   AfxMessageBox(msg);
}
else
{
   AfxMessageBox(_T("No palette!"));
}

CReBarCtrl::GetRect

Implementa o comportamento da mensagem RB_GETRECT do Win32, conforme descrito no SDK do Windows.

BOOL GetRect(
    UINT uBand,
    LPRECT prc) const;

Parâmetros

uBand
Índice baseado em zero de uma banda no controle rebar.

prc
Um ponteiro para uma estrutura RECT que receberá os limites da banda rebar.

Valor de retorno

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

Exemplo

CRect rc;
m_wndReBar.GetReBarCtrl().GetRect(0, &rc);
CString msg;
msg.Format(_T("rect.left = %d, rect.top = %d, ")
           _T("rect.right = %d, rect.bottom = %d"),
           rc.left,
           rc.top, rc.right, rc.bottom);
AfxMessageBox(msg);

CReBarCtrl::GetRowCount

Implementa o comportamento da mensagem RB_GETROWCOUNT do Win32, conforme descrito no SDK do Windows.

UINT GetRowCount() const;

Valor de retorno

Um valor UINT que representa o número de linhas de banda no controle.

Exemplo

UINT nRowCount = m_wndReBar.GetReBarCtrl().GetRowCount();
CString msg;
msg.Format(_T("Row Count is %d"), nRowCount);
AfxMessageBox(msg);

CReBarCtrl::GetRowHeight

Implementa o comportamento da mensagem RB_GETROWHEIGHT do Win32, conforme descrito no SDK do Windows.

UINT GetRowHeight(UINT uRow) const;

Parâmetros

uRow
Índice baseado em zero da banda que terá sua altura recuperada.

Valor de retorno

Um valor UINT que representa a altura da linha em pixels.

Exemplo

int nCount = m_wndReBar.GetReBarCtrl().GetRowCount();
for (int i = 0; i < nCount; i++)
{
   UINT nHeight = m_wndReBar.GetReBarCtrl().GetRowHeight(i);
   CString msg;
   msg.Format(_T("Height of row %d is %u"), i, nHeight);
   AfxMessageBox(msg);
}

CReBarCtrl::GetTextColor

Implementa o comportamento da mensagem RB_GETTESTCOLOR do Win32, conforme descrito no SDK do Windows.

COLORREF GetTextColor() const;

Valor de retorno

Um valor COLORREF que representa a cor de texto padrão atual.

CReBarCtrl::GetToolTips

Implementa o comportamento da mensagem RB_GETTOOLTIPS do Win32, conforme descrito no SDK do Windows.

CToolTipCtrl* GetToolTips() const;

Valor de retorno

Um ponteiro para um objeto CToolTipCtrl.

Comentários

Observe que a implementação MFC de GetToolTips retorna um ponteiro para um CToolTipCtrl, em vez de um HWND.

CReBarCtrl::HitTest

Implementa o comportamento da mensagem RB_HITTEST do Win32, conforme descrito no SDK do Windows.

int HitTest(RBHITTESTINFO* prbht);

Parâmetros

prbht
Um ponteiro para uma estrutura RBHITTESTINFO. Antes de enviar a mensagem, o membro pt dessa estrutura deve ser inicializado para o ponto que será testado, nas coordenadas do cliente.

Valor de retorno

O índice baseado em zero da banda no ponto determinado, ou -1 se nenhuma banda de versões estivesse no ponto.

CReBarCtrl::IDToIndex

Implementa o comportamento da mensagem RB_IDTOINDEX do Win32, conforme descrito no SDK do Windows.

int IDToIndex(UINT uBandID) const;

Parâmetros

uBandID
O identificador definido pelo aplicativo da banda especificada, passado no membro wID da estrutura REBARBANDINFO quando a banda é inserida.

Valor de retorno

O índice de banda baseado em zero, se bem-sucedido, ou, caso contrário, -1. Se existirem índices de banda duplicados, o primeiro será retornado.

CReBarCtrl::InsertBand

Implementa o comportamento da mensagem RB_INSERTBAND do Win32, conforme descrito no SDK do Windows.

BOOL InsertBand(
    UINT uIndex,
    REBARBANDINFO* prbbi);

Parâmetros

uIndex
Índice baseado em zero do local em que a banda será inserida. Se você definir esse parâmetro como -1, o controle adicionará a nova banda no último local.

prbbi
Um ponteiro para uma estrutura REBARBANDINFO que define a banda a ser inserida. Você deve definir o membro cbSize dessa estrutura como sizeof(REBARBANDINFO) antes de chamar essa função.

Valor de retorno

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

Exemplo

REBARBANDINFO rbbi = {0};
rbbi.cbSize = sizeof(rbbi);

TCHAR szText[80];
rbbi.lpText = szText;
rbbi.cch = sizeof(szText) / sizeof(szText[0]);

rbbi.fMask = RBBIM_BACKGROUND | RBBIM_CHILD |
             RBBIM_CHILDSIZE | RBBIM_COLORS | RBBIM_HEADERSIZE |
             RBBIM_IDEALSIZE | RBBIM_ID | RBBIM_IMAGE |
             RBBIM_LPARAM | RBBIM_SIZE | RBBIM_STYLE | RBBIM_TEXT;

m_wndReBar.GetReBarCtrl().GetBandInfo(0, &rbbi);

m_wndReBar.GetReBarCtrl().InsertBand(1, &rbbi);

CReBarCtrl::MaximizeBand

Redimensiona uma banda em um controle rebar para seu maior tamanho.

void MaximizeBand(UINT uBand);

Parâmetros

uBand
Índice baseado em zero da banda a ser maximizada.

Comentários

Implementa o comportamento da mensagem win32 RB_MAXIMIZEBAND com fIdeal definido como 0, conforme descrito no SDK do Windows.

Exemplo

CReBarCtrl& refReBarCtrl = m_wndReBar.GetReBarCtrl();
UINT nCount = refReBarCtrl.GetBandCount();

for (UINT i = 0; i < nCount; i++)
   refReBarCtrl.MaximizeBand(i);   

CReBarCtrl::MinimizeBand

Redimensiona uma banda em um controle rebar para seu menor tamanho.

void MinimizeBand(UINT uBand);

Parâmetros

uBand
Índice baseado em zero da banda a ser minimizada.

Comentários

Implementa o comportamento da mensagem RB_MINIMIZEBAND do Win32, conforme descrito no SDK do Windows.

Exemplo

CReBarCtrl &refReBarCtrl = m_wndReBar.GetReBarCtrl();
UINT nCount = refReBarCtrl.GetBandCount();

for (UINT i = 0; i < nCount; i++)
   refReBarCtrl.MinimizeBand(i);

CReBarCtrl::MoveBand

Implementa o comportamento da mensagem RB_MOVEBAND do Win32, conforme descrito no SDK do Windows.

BOOL MoveBand(
    UINT uFrom,
    UINT uTo);

Parâmetros

uFrom
Índice baseado em zero da banda a ser movido.

uTo
Índice baseado em zero da nova posição da banda. Esse valor de parâmetro nunca deve ser maior do que o número de bandas menos um. Para obter o número de bandas, chame GetBandCount.

Valor de retorno

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

CReBarCtrl::PushChevron

Implementa o comportamento da mensagem RB_PUSHCHEVRON do Win32, conforme descrito no SDK do Windows.

void PushChevron(
    UINT uBand,
    LPARAM lAppValue);

Parâmetros

uBand
Índice baseado em zero da banda cuja divisa deve ser enviada por push.

lAppValue
Um valor de 32 bits definido pelo aplicativo. Consulte lAppValue em RB_PUSHCHEVRON no SDK do Windows.

CReBarCtrl::RestoreBand

Redimensiona uma banda em um controle rebar para seu tamanho ideal.

void RestoreBand(UINT uBand);

Parâmetros

uBand
Índice baseado em zero da banda a ser maximizada.

Comentários

Implementa o comportamento da mensagem win32 RB_MAXIMIZEBAND com fIdeal definido como 1, conforme descrito no SDK do Windows.

Exemplo

CReBarCtrl &refReBarCtrl = m_wndReBar.GetReBarCtrl();
UINT nCount = refReBarCtrl.GetBandCount();

for (UINT i = 0; i < nCount; i++)
   refReBarCtrl.RestoreBand(i);

CReBarCtrl::SetBandInfo

Implementa o comportamento da mensagem RB_SETBANDINFO do Win32, conforme descrito no SDK do Windows.

BOOL SetBandInfo(
    UINT uBand,
    REBARBANDINFO* prbbi);

Parâmetros

uBand
Índice baseado em zero da banda para receber as novas configurações.

prbbi
Ponteiro para uma estrutura REBARBANDINFO que define a banda a ser inserida. Você deve definir o membro cbSize dessa estrutura como sizeof(REBARBANDINFO) antes de enviar essa mensagem.

Valor de retorno

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

Exemplo

int nCount = m_wndReBar.GetReBarCtrl().GetBandCount();
CString strText;
REBARBANDINFO rbbi = {0};
rbbi.cbSize = sizeof(rbbi);
for (int i = 0; i < nCount; i++)
{
   strText.Format(_T("Band #: %d"), i);
   rbbi.lpText = strText.GetBuffer();
   rbbi.cch = strText.GetLength() + 1;
   rbbi.fMask = RBBIM_TEXT;

   m_wndReBar.GetReBarCtrl().SetBandInfo(i, &rbbi);

   strText.ReleaseBuffer();
}

CReBarCtrl::SetBandWidth

Define a largura da banda encaixada especificada no controle rebar atual.

BOOL SetBandWidth(
    UINT uBand,
    int cxWidth);

Parâmetros

uBand
[in] Índice baseado em zero de uma banda rebar.

cxWidth
[in] Nova largura da banda rebar 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 RB_SETBANDWIDTH, que é descrita no SDK do Windows.

Exemplo

O primeiro exemplo de código define a variável m_rebar, que é usada para acessar o controle rebar atual. Essa variável será usada no próximo exemplo.

public:
CReBarCtrl m_rebar;
BOOL bRet;
static const int TOTAL_BANDS = 5;
static const int BUFFER_SIZE = 10;

O próximo exemplo de código define cada faixa rebar como a mesma largura.

// Set the width of each band.
m_rebar.GetClientRect(&rect);
int iWidth = rect.Width() / TOTAL_BANDS;
for (int iIndex = 0; iIndex < TOTAL_BANDS; iIndex++)
   bRet = m_rebar.SetBandWidth(iIndex, iWidth);

CReBarCtrl::SetBarInfo

Implementa o comportamento da mensagem RB_SETBARINFO do Win32, conforme descrito no SDK do Windows.

BOOL SetBarInfo(REBARINFO* prbi);

Parâmetros

prbi
Um ponteiro para uma estrutura REBARINFO que contém as informações a serem definidas. Você deve definir o membro cbSize dessa estrutura como sizeof(REBARINFO) antes de enviar essa mensagem

Valor de retorno

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

Exemplo

REBARINFO rbi = {0};
rbi.cbSize = sizeof(REBARINFO);
rbi.fMask = 0;
rbi.himl = 0;
m_wndReBar.GetReBarCtrl().SetBarInfo(&rbi);

CReBarCtrl::SetBkColor

Implementa o comportamento da mensagem RB_SETBKCOLOR do Win32, conforme descrito no SDK do Windows.

COLORREF SetBkColor(COLORREF clr);

Parâmetros

clr
O valor COLORREF que representa a nova cor da tela de fundo padrão.

Valor de retorno

Um valor COLORREF que representa a cor da tela de fundo padrão anterior.

Comentários

Consulte este tópico para obter mais informações sobre quando definir a cor da tela de fundo e como definir o padrão.

CReBarCtrl::SetColorScheme

Define o esquema de cores para os botões em um controle rebar.

void SetColorScheme(const COLORSCHEME* lpcs);

Parâmetros

lpcs
Um ponteiro para uma estrutura COLORSCHEME, conforme descrito no SDK do Windows.

Comentários

A estrutura COLORSCHEME inclui ambos, a cor de realce do botão e a cor da sombra do botão.

CReBarCtrl::SetExtendedStyle

Define o estilo estendido do controle rebar atual.

DWORD SetExtendedStyle(
    DWORD dwMask,
    DWORD dwStyleEx);

Parâmetros

dwMask
[in] Uma combinação bit a bit (OR) de sinalizadores que especificam quais sinalizadores no parâmetro dwStyleEx se aplicam. Use um ou mais dos seguintes valores:

  • RBS_EX_SPLITTER: por padrão, mostra o divisor na parte inferior no modo horizontal e à direita no modo vertical.
  • RBS_EX_TRANSPARENT: encaminha a mensagem WM_ERASEBKGND para a janela pai.

dwStyleEx
[in] Uma combinação bit a bit (OR) de sinalizadores que especificam os estilos a serem aplicados. Para definir um estilo, especifique o mesmo sinalizador usado no parâmetro dwMask. Para redefinir um estilo, especifique binário zero.

Valor de retorno

O estilo estendido anterior.

Comentários

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

CReBarCtrl::SetImageList

Atribui uma lista de imagens a um controle rebar.

BOOL SetImageList(CImageList* pImageList);

Parâmetros

pImageList
Um ponteiro para um objeto CImageList que contém a lista de imagens a ser atribuída ao controle rebar.

Valor de retorno

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

CReBarCtrl::SetOwner

Implementa o comportamento da mensagem RB_SETPARENT do Win32, conforme descrito no SDK do Windows.

CWnd* SetOwner(CWnd* pWnd);

Parâmetros

pWnd
Um ponteiro para um objeto CWnd a ser definido como o proprietário do controle rebar.

Valor de retorno

Um ponteiro para um objeto CWnd que é o proprietário atual do controle rebar.

Comentários

Observe que essa função membro usa ponteiros para objetos CWnd para o proprietário atual e selecionado do controle rebar, em vez de identificadores para janelas.

Observação

Essa função de membro não altera o pai real que foi definido quando o controle foi criado; em vez disso, ele envia mensagens de notificação para a janela especificada.

CReBarCtrl::SetPalette

Implementa o comportamento da mensagem RB_SETPALETTE do Win32, conforme descrito no SDK do Windows.

CPalette* SetPalette(HPALETTE hPal);

Parâmetros

hPal
Um HPALETTE que especifica a nova paleta que o controle rebar usará.

Valor de retorno

Um ponteiro para um objeto CPalette que especifica a paleta anterior do controle rebar.

Comentários

Observe que essa função de membro usa um objeto CPalette como seu valor de retorno, em vez de um HPALETTE.

CReBarCtrl::SetTextColor

Implementa o comportamento da mensagem RB_SETTESTCOLOR do Win32, conforme descrito no SDK do Windows.

COLORREF SetTextColor(COLORREF clr);

Parâmetros

clr
Um valor COLORREF que representa a nova cor de texto no objeto CReBarCtrl.

Valor de retorno

O valor COLORREF que representa a cor de texto anterior associada ao objeto CReBarCtrl.

Comentários

Ele é fornecido para dar suporte à flexibilidade de cor de texto em um controle rebar.

CReBarCtrl::SetToolTips

Associa um controle de dica de ferramenta a um controle rebar.

void SetToolTips(CToolTipCtrl* pToolTip);

Parâmetros

pToolTip
Um ponteiro para um objeto CToolTipCtrl.

Comentários

Você deve destruir o objeto CToolTipCtrl quando terminar de usá-lo.

CReBarCtrl::SetWindowTheme

Define o estilo visual do controle rebar.

HRESULT SetWindowTheme(LPCWSTR pszSubAppName);

Parâmetros

pszSubAppName
Um ponteiro para uma cadeia de caracteres Unicode que contém o estilo visual do rebar a ser definido.

Valor de retorno

O valor retornado não é usado.

Comentários

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

CReBarCtrl::ShowBand

Implementa o comportamento da mensagem RB_SHOWBAND do Win32, conforme descrito no SDK do Windows.

BOOL ShowBand(
    UINT uBand,
    BOOL fShow = TRUE);

Parâmetros

uBand
Índice baseado em zero de uma banda no controle rebar.

fShow
Indica se a banda deve ser mostrada ou ocultada. Se esse valor for TRUE, a banda será mostrada. Caso contrário, a banda ficará oculta.

Valor de retorno

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

CReBarCtrl::SizeToRect

Implementa o comportamento da mensagem RB_SIZETORECT do Win32, conforme descrito no SDK do Windows.

BOOL SizeToRect(CRect& rect);

Parâmetros

rect
Uma referência a um objeto CRect que especifica o retângulo ao qual o controle rebar deve ser dimensionado.

Valor de retorno

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

Comentários

Observe que essa função membro usa um objeto CRect como um parâmetro, em vez de uma estrutura RECT.

Confira também

Classe CWnd
Gráfico da hierarquia