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.
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
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:
Chame CReBarCtrl para construir um objeto
CReBarCtrl
.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
.