Classe CReBarCtrl

Incapsula la funzionalità di un controllo Rebar, ovvero un contenitore per una finestra figlio.

Sintassi

class CReBarCtrl : public CWnd

Membri

Costruttori pubblici

Nome Descrizione
CReBarCtrl::CReBarCtrl Costruisce un oggetto CReBarCtrl.

Metodi pubblici

Nome Descrizione
CReBarCtrl::BeginDrag Posiziona il controllo rebar in modalità di trascinamento della selezione.
CReBarCtrl::Create Crea il controllo rebar e lo collega all'oggetto CReBarCtrl .
CReBarCtrl::CreateEx Crea un controllo rebar con gli stili estesi di Windows specificati e lo associa a un CReBarCtrl oggetto .
CReBarCtrl::D eleteBand Elimina una banda da un controllo rebar.
CReBarCtrl::D ragMove Aggiorna la posizione di trascinamento nel controllo rebar dopo una chiamata a BeginDrag.
CReBarCtrl::EndDrag Termina l'operazione di trascinamento della selezione del controllo rebar.
CReBarCtrl::GetBandBorders Recupera i bordi di una banda.
CReBarCtrl::GetBandCount Recupera il numero di bande attualmente presenti nel controllo rebar.
CReBarCtrl::GetBandInfo Recupera informazioni su una banda specificata in un controllo rebar.
CReBarCtrl::GetBandMargins Recupera i margini di una banda.
CReBarCtrl::GetBarHeight Recupera l'altezza del controllo rebar.
CReBarCtrl::GetBarInfo Recupera informazioni sul controllo rebar e sull'elenco di immagini utilizzato.
CReBarCtrl::GetBkColor Recupera il colore di sfondo predefinito di un controllo rebar.
CReBarCtrl::GetColorScheme Recupera la struttura COLORSCHEME associata al controllo rebar.
CReBarCtrl::GetDropTarget Recupera il puntatore dell'interfaccia di IDropTarget un controllo rebar.
CReBarCtrl::GetExtendedStyle Ottiene lo stile esteso del controllo rebar corrente.
CReBarCtrl::GetImageList Recupera l'elenco di immagini associato a un controllo rebar.
CReBarCtrl::GetPalette Recupera la tavolozza corrente del controllo rebar.
CReBarCtrl::GetRect Recupera il rettangolo di delimitazione per una determinata banda in un controllo rebar.
CReBarCtrl::GetRowCount Recupera il numero di righe di banda in un controllo rebar.
CReBarCtrl::GetRowHeight Recupera l'altezza di una riga specificata in un controllo rebar.
CReBarCtrl::GetTextColor Recupera il colore di testo predefinito di un controllo rebar.
CReBarCtrl::GetToolTips Recupera l'handle in qualsiasi controllo della descrizione comando associato al controllo rebar.
CReBarCtrl::HitTest Determina quale parte di una banda rebar si trova in un determinato punto sullo schermo, se a quel punto esiste una banda di ribar.
CReBarCtrl::IDToIndex Converte un identificatore di banda (ID) in un indice band in un controllo rebar.
CReBarCtrl::InsertBand Inserisce una nuova banda in un controllo rebar.
CReBarCtrl::MaximizeBand Ridimensiona una banda in un controllo rebar alle dimensioni maggiori.
CReBarCtrl::MinimizeBand Ridimensiona una banda in un controllo rebar alle dimensioni più piccole.
CReBarCtrl::MoveBand Sposta una banda da un indice a un altro.
CReBarCtrl::P ushChevron Esegue il push di una freccia di espansione a livello di codice.
CReBarCtrl::RestoreBand Ridimensiona una banda in un controllo rebar in base alle dimensioni ideali.
CReBarCtrl::SetBandInfo Imposta le caratteristiche di una banda esistente in un controllo rebar.
CReBarCtrl::SetBandWidth Imposta la larghezza della banda ancorata specificata nel controllo rebar corrente.
CReBarCtrl::SetBarInfo Imposta le caratteristiche di un controllo rebar.
CReBarCtrl::SetBkColor Imposta il colore di sfondo predefinito di un controllo rebar.
CReBarCtrl::SetColorScheme Imposta la combinazione di colori per i pulsanti di un controllo rebar.
CReBarCtrl::SetExtendedStyle Imposta gli stili estesi per il controllo rebar corrente.
CReBarCtrl::SetImageList Imposta l'elenco di immagini di un controllo rebar.
CReBarCtrl::SetOwner Imposta la finestra proprietario di un controllo rebar.
CReBarCtrl::SetPalette Imposta la tavolozza corrente del controllo rebar.
CReBarCtrl::SetTextColor Imposta il colore di testo predefinito di un controllo rebar.
CReBarCtrl::SetToolTips Associa un controllo descrizione comando al controllo rebar.
CReBarCtrl::SetWindowTheme Imposta lo stile di visualizzazione del controllo rebar.
CReBarCtrl::ShowBand Visualizza o nasconde una determinata banda in un controllo rebar.
CReBarCtrl::SizeToRect Adatta un controllo rebar a un rettangolo specificato.

Osservazioni:

L'applicazione in cui risiede il controllo rebar assegna la finestra figlio contenuta dal controllo rebar alla banda della barra di riesezione. La finestra figlio è in genere un altro controllo comune.

I controlli Rebar contengono una o più bande. Ogni banda può contenere una combinazione di una barra gripper, una bitmap, un'etichetta di testo e una finestra figlio. La banda può contenere solo uno di questi elementi.

Il controllo rebar può visualizzare la finestra figlio su una bitmap di sfondo specificata. Tutte le bande di controllo rebar possono essere ridimensionate, ad eccezione di quelle che usano lo stile RBBS_FIXEDSIZE. Quando si riposiziona o si ridimensiona una banda di controllo della barra di rielaborazione, il controllo rebar gestisce le dimensioni e la posizione della finestra figlio assegnata a tale banda. Per ridimensionare o modificare l'ordine delle bande all'interno del controllo, fare clic e trascinare la barra del gripper della banda.

La figura seguente mostra un controllo rebar con tre bande:

  • Banda 0 contiene un controllo barra degli strumenti piatto e trasparente.

  • Banda 1 contiene pulsanti a discesa trasparente standard e trasparente.

  • Banda 2 contiene una casella combinata e quattro pulsanti standard.

    Esempio di menu Rebar.

Controllo Rebar

Supporto dei controlli Rebar:

  • Elenchi di immagini.

  • Gestione dei messaggi.

  • Funzionalità di disegno personalizzate.

  • Un'ampia gamma di stili di controllo oltre agli stili di finestra standard. Per un elenco di questi stili, vedi Stili di controllo della barra di ripristino in Windows SDK.

Per altre informazioni, vedere Uso di CReBarCtrl.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CReBarCtrl

Requisiti

Intestazione: afxcmn.h

CReBarCtrl::BeginDrag

Implementa il comportamento del messaggio Win32 RB_BEGINDRAG, come descritto in Windows SDK.

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

Parametri

uBand
Indice in base zero della banda che avrà effetto sull'operazione di trascinamento della selezione.

dwPos
Valore DWORD che contiene le coordinate del mouse iniziale. La coordinata orizzontale è contenuta in LOWORD e la coordinata verticale è contenuta in HIWORD. Se passi (DWORD)-1, il controllo rebar userà la posizione del mouse l'ultima volta che il thread del controllo chiama GetMessage o PeekMessage.

CReBarCtrl::Create

Crea il controllo rebar e lo collega all'oggetto CReBarCtrl .

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

Parametri

dwStyle
Specifica la combinazione di stili di controllo rebar applicati al controllo. Per un elenco degli stili supportati, vedi Stili di controllo della barra di ripristino in Windows SDK.

rect
Riferimento a un oggetto CRect o a una struttura RECT, ovvero la posizione e le dimensioni del controllo rebar.

pParentWnd
Puntatore a un oggetto CWnd che rappresenta la finestra padre del controllo rebar. Non deve essere NULL.

nID
Specifica l'ID di controllo del controllo rebar.

Valore restituito

Diverso da zero se l'oggetto è stato creato correttamente; in caso contrario, 0.

Osservazioni:

Creare un controllo rebar in due passaggi:

  1. Chiamare CReBarCtrl per costruire un CReBarCtrl oggetto .

  2. Chiamare questa funzione membro, che crea il controllo Barra di ripristino di Windows e la collega all'oggetto CReBarCtrl .

Quando si chiama Create, i controlli comuni vengono inizializzati.

Esempio

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

// Use ReBar Control.

delete pReBarCtrl;

CReBarCtrl::CreateEx

Crea un controllo (una finestra figlio) e lo associa all'oggetto CReBarCtrl .

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

Parametri

dwExStyle
Specifica lo stile esteso del controllo da creare. Per un elenco degli stili di Windows estesi, vedere il parametro dwExStyle per CreateWindowEx in Windows SDK.

dwStyle
Specifica la combinazione di stili di controllo rebar applicati al controllo. Per un elenco degli stili supportati, vedi Stili di controllo della barra di ripristino in Windows SDK.

rect
Riferimento a una struttura RECT che descrive le dimensioni e la posizione della finestra da creare, nelle coordinate client di pParentWnd.

pParentWnd
Puntatore alla finestra padre del controllo.

nID
ID finestra figlio del controllo.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Usare CreateEx invece di Crea per applicare stili di Windows estesi, specificati dalla prefazione dello stile esteso di Windows WS_EX_.

CReBarCtrl::CReBarCtrl

Crea un oggetto CReBarCtrl.

CReBarCtrl();

Esempio

Vedere l'esempio per CReBarCtrl::Create.

CReBarCtrl::D eleteBand

Implementa il comportamento del messaggio Win32 RB_DELETEBAND, come descritto in Windows SDK.

BOOL DeleteBand(UINT uBand);

Parametri

uBand
Indice in base zero della banda da eliminare.

Valore restituito

Diverso da zero se la banda è stata eliminata correttamente; in caso contrario, zero.

Esempio

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

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

CReBarCtrl::D ragMove

Implementa il comportamento del messaggio Win32 RB_DRAGMOVE, come descritto in Windows SDK.

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

Parametri

dwPos
Valore DWORD che contiene le nuove coordinate del mouse. La coordinata orizzontale è contenuta in LOWORD e la coordinata verticale è contenuta in HIWORD. Se passi (DWORD)-1, il controllo rebar userà la posizione del mouse l'ultima volta che il thread del controllo chiama GetMessage o PeekMessage.

CReBarCtrl::EndDrag

Implementa il comportamento del messaggio Win32 RB_ENDDRAG, come descritto in Windows SDK.

void EndDrag();

CReBarCtrl::GetBandBorders

Implementa il comportamento del messaggio Win32 RB_GETBANDBORDERS, come descritto in Windows SDK.

void GetBandBorders(
    UINT uBand,
    LPRECT prc) const;

Parametri

uBand
Indice in base zero della banda per cui verranno recuperati i bordi.

Rpc
Puntatore a una struttura RECT che riceverà i bordi della banda. Se il controllo rebar ha lo stile RBS_BANDBORDERS, ogni membro di questa struttura riceverà il numero di pixel, sul lato corrispondente della banda, che costituiscono il bordo. Se il controllo rebar non dispone dello stile RBS_BANDBORDERS, solo il membro sinistro di questa struttura riceve informazioni valide. Per una descrizione degli stili di controllo della barra di riesezione, vedi Stili di controllo della barra di ripristino in Windows SDK.

CReBarCtrl::GetBandCount

Implementa il comportamento del messaggio Win32 RB_GETBANDCOUNT, come descritto in Windows SDK.

UINT GetBandCount() const;

Valore restituito

Numero di bande assegnate al controllo.

CReBarCtrl::GetBandInfo

Implementa il comportamento del messaggio Win32 RB_GETBANDINFO come descritto in Windows SDK.

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

Parametri

uBand
Indice in base zero della banda per cui verranno recuperate le informazioni.

prbbi
Puntatore a una struttura REBARBANDINFO per ricevere le informazioni sulla banda. È necessario impostare il cbSize membro di questa struttura sizeof(REBARBANDINFO) su e impostare il fMask membro sugli elementi da recuperare prima di inviare il messaggio.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

CReBarCtrl::GetBandMargins

Recupera i margini della banda.

void GetBandMargins(PMARGINS pMargins);

Parametri

pMargins
Puntatore a una struttura MARGINche riceverà le informazioni.

Osservazioni:

Questa funzione membro emula la funzionalità del messaggio di RB_GETBANDMARGINS , come descritto in Windows SDK.

CReBarCtrl::GetBarHeight

Recupera l'altezza della barra della barra di rebar.

UINT GetBarHeight() const;

Valore restituito

Valore che rappresenta l'altezza, in pixel, del controllo.

CReBarCtrl::GetBarInfo

Implementa il comportamento del messaggio Win32 RB_GETBARINFO, come descritto in Windows SDK.

BOOL GetBarInfo(REBARINFO* prbi) const;

Parametri

prbi
Puntatore a una struttura REBARINFO che riceverà le informazioni sul controllo rebar. È necessario impostare il membro cbSize di questa struttura su sizeof(REBARINFO) prima di inviare il messaggio.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

CReBarCtrl::GetBkColor

Implementa il comportamento del messaggio Win32 RB_GETBKCOLOR, come descritto in Windows SDK.

COLORREF GetBkColor() const;

Valore restituito

Valore COLORREF che rappresenta il colore di sfondo predefinito corrente.

CReBarCtrl::GetColorScheme

Recupera la struttura COLORSCHEME per il controllo rebar.

BOOL GetColorScheme(COLORSCHEME* lpcs);

Parametri

lpcs
Puntatore a una struttura COLORSCHEME , come descritto in Windows SDK.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

La COLORSCHEME struttura include il colore di evidenziazione del pulsante e il colore dell'ombreggiatura del pulsante.

CReBarCtrl::GetDropTarget

Implementa il comportamento del messaggio Win32 RB_GETDROPTARGET, come descritto in Windows SDK.

IDropTarget* GetDropTarget() const;

Valore restituito

Puntatore a un'interfaccia IDropTarget .

CReBarCtrl::GetExtendedStyle

Ottiene gli stili estesi del controllo rebar corrente.

DWORD GetExtendedStyle() const;

Valore restituito

Combinazione bit per bit (OR) di flag che indicano gli stili estesi. I flag possibili sono RBS_EX_SPLITTER e RBS_EX_TRANSPARENT. Per altre informazioni, vedere il parametro dwMask del metodo CReBarCtrl::SetExtendedStyle .

Osservazioni:

Questo metodo invia il messaggio di RB_GETEXTENDEDSTYLE , descritto in Windows SDK.

CReBarCtrl::GetImageList

Ottiene l'oggetto CImageList associato a un controllo rebar.

CImageList* GetImageList() const;

Valore restituito

Puntatore a un oggetto CImageList . Restituisce NULL se per il controllo non è impostato alcun elenco di immagini.

Osservazioni:

Questa funzione membro usa le informazioni sulle dimensioni e sulla maschera archiviate nella struttura REBARINFO , come descritto in Windows SDK.

CReBarCtrl::GetPalette

Recupera la tavolozza corrente del controllo rebar.

CPalette* GetPalette() const;

Valore restituito

Puntatore a un oggetto CPalette che specifica la tavolozza corrente del controllo rebar.

Osservazioni:

Si noti che questa funzione membro usa un CPalette oggetto come valore restituito, anziché come HPALETTE.

Esempio

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 il comportamento del messaggio Win32 RB_GETRECT, come descritto in Windows SDK.

BOOL GetRect(
    UINT uBand,
    LPRECT prc) const;

Parametri

uBand
Indice in base zero di una banda nel controllo rebar.

Rpc
Puntatore a una struttura RECT che riceverà i limiti della banda della barra di ripetizione.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

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 il comportamento del messaggio Win32 RB_GETROWCOUNT, come descritto in Windows SDK.

UINT GetRowCount() const;

Valore restituito

Valore UINT che rappresenta il numero di righe di banda nel controllo .

Esempio

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

CReBarCtrl::GetRowHeight

Implementa il comportamento del messaggio Win32 RB_GETROWHEIGHT, come descritto in Windows SDK.

UINT GetRowHeight(UINT uRow) const;

Parametri

uRow
Indice in base zero della banda che avrà l'altezza recuperata.

Valore restituito

Valore UINT che rappresenta l'altezza della riga, in pixel.

Esempio

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 il comportamento del messaggio Win32 RB_GETTEXTCOLOR, come descritto in Windows SDK.

COLORREF GetTextColor() const;

Valore restituito

Valore COLORREF che rappresenta il colore di testo predefinito corrente.

CReBarCtrl::GetToolTips

Implementa il comportamento del messaggio Win32 RB_GETTOOLTIPS, come descritto in Windows SDK.

CToolTipCtrl* GetToolTips() const;

Valore restituito

Puntatore a un oggetto CToolTipCtrl .

Osservazioni:

Si noti che l'implementazione MFC di GetToolTips restituisce un puntatore a un CToolTipCtrloggetto , anziché a un HWND.

CReBarCtrl::HitTest

Implementa il comportamento del messaggio Win32 RB_HITTEST, come descritto in Windows SDK.

int HitTest(RBHITTESTINFO* prbht);

Parametri

prbht
Puntatore a una struttura RBHITTESTINFO . Prima di inviare il messaggio, il pt membro di questa struttura deve essere inizializzato al punto che verrà testato, nelle coordinate client.

Valore restituito

Indice in base zero della banda in corrispondenza del punto specificato oppure -1 se nessuna banda della barra di rebar era al punto.

CReBarCtrl::IDToIndex

Implementa il comportamento del messaggio Win32 RB_IDTOINDEX, come descritto in Windows SDK.

int IDToIndex(UINT uBandID) const;

Parametri

uBandID
Identificatore definito dall'applicazione della banda specificata, passato al wID membro della struttura REBARBANDINFO quando viene inserita la banda.

Valore restituito

Indice della banda in base zero se ha esito positivo oppure -1 in caso contrario. Se esistono indici di banda duplicati, viene restituito il primo.

CReBarCtrl::InsertBand

Implementa il comportamento del messaggio Win32 RB_INSERTBAND, come descritto in Windows SDK.

BOOL InsertBand(
    UINT uIndex,
    REBARBANDINFO* prbbi);

Parametri

uIndex
Indice in base zero della posizione in cui verrà inserita la banda. Se si imposta questo parametro su -1, il controllo aggiungerà la nuova banda nell'ultima posizione.

prbbi
Puntatore a una struttura REBARBANDINFO che definisce la banda da inserire. È necessario impostare il membro cbSize di questa struttura su sizeof(REBARBANDINFO) prima di chiamare questa funzione.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

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

Ridimensiona una banda in un controllo rebar alle dimensioni maggiori.

void MaximizeBand(UINT uBand);

Parametri

uBand
Indice in base zero della banda da ingrandire.

Osservazioni:

Implementa il comportamento del messaggio Win32 RB_MAXIMIZEBAND con fIdeal impostato su 0, come descritto in Windows SDK.

Esempio

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

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

CReBarCtrl::MinimizeBand

Ridimensiona una banda in un controllo rebar alle dimensioni più piccole.

void MinimizeBand(UINT uBand);

Parametri

uBand
Indice in base zero della banda da ridurre al minimo.

Osservazioni:

Implementa il comportamento del messaggio Win32 RB_MINIMIZEBAND, come descritto in Windows SDK.

Esempio

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

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

CReBarCtrl::MoveBand

Implementa il comportamento del messaggio Win32 RB_MOVEBAND, come descritto in Windows SDK.

BOOL MoveBand(
    UINT uFrom,
    UINT uTo);

Parametri

uFrom
Indice in base zero della banda da spostare.

uTo
Indice in base zero della nuova posizione della banda. Questo valore del parametro non deve mai essere maggiore del numero di bande meno uno. Per ottenere il numero di bande, chiama GetBandCount.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

CReBarCtrl::P ushChevron

Implementa il comportamento del messaggio Win32 RB_PUSHCHEVRON, come descritto in Windows SDK.

void PushChevron(
    UINT uBand,
    LPARAM lAppValue);

Parametri

uBand
Indice in base zero della banda la cui freccia di espansione deve essere spinta.

lAppValue
Un'applicazione ha definito un valore a 32 bit. Vedere lAppValue in RB_PUSHCHEVRON in Windows SDK.

CReBarCtrl::RestoreBand

Ridimensiona una banda in un controllo rebar in base alle dimensioni ideali.

void RestoreBand(UINT uBand);

Parametri

uBand
Indice in base zero della banda da ingrandire.

Osservazioni:

Implementa il comportamento del messaggio Win32 RB_MAXIMIZEBAND con fIdeal impostato su 1, come descritto in Windows SDK.

Esempio

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

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

CReBarCtrl::SetBandInfo

Implementa il comportamento del messaggio Win32 RB_SETBANDINFO, come descritto in Windows SDK.

BOOL SetBandInfo(
    UINT uBand,
    REBARBANDINFO* prbbi);

Parametri

uBand
Indice in base zero della banda per ricevere le nuove impostazioni.

prbbi
Puntatore a una struttura REBARBANDINFO che definisce la banda da inserire. È necessario impostare il cbSize membro di questa struttura su sizeof(REBARBANDINFO) prima di inviare il messaggio.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

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

Imposta la larghezza della banda ancorata specificata nel controllo rebar corrente.

BOOL SetBandWidth(
    UINT uBand,
    int cxWidth);

Parametri

uBand
[in] Indice in base zero di una banda della barra di ripetizione.

cxWidth
[in] Nuova larghezza della banda della barra di rebar, in pixel.

Valore restituito

TRUE se il metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il messaggio RB_SETBANDWIDTH , descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce la variabile , m_rebar, usata per accedere al controllo rebar corrente. Questa variabile viene usata nell'esempio riportato di seguito.

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

Nell'esempio di codice successivo ogni banda della barra di ripetizione viene impostata sulla stessa larghezza.

// 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 il comportamento del messaggio Win32 RB_SETBARINFO, come descritto in Windows SDK.

BOOL SetBarInfo(REBARINFO* prbi);

Parametri

prbi
Puntatore a una struttura REBARINFO contenente le informazioni da impostare. È necessario impostare il cbSize membro di questa struttura su sizeof(REBARINFO) prima di inviare il messaggio

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

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

CReBarCtrl::SetBkColor

Implementa il comportamento del messaggio Win32 RB_SETBKCOLOR, come descritto in Windows SDK.

COLORREF SetBkColor(COLORREF clr);

Parametri

clr
Valore COLORREF che rappresenta il nuovo colore di sfondo predefinito.

Valore restituito

Valore COLORREF che rappresenta il colore di sfondo predefinito precedente.

Osservazioni:

Per altre informazioni su quando impostare il colore di sfondo e su come impostare il valore predefinito, vedere questo argomento.

CReBarCtrl::SetColorScheme

Imposta la combinazione di colori per i pulsanti di un controllo rebar.

void SetColorScheme(const COLORSCHEME* lpcs);

Parametri

lpcs
Puntatore a una struttura COLORSCHEME , come descritto in Windows SDK.

Osservazioni:

La COLORSCHEME struttura include sia il colore di evidenziazione del pulsante che il colore dell'ombreggiatura del pulsante.

CReBarCtrl::SetExtendedStyle

Imposta gli stili estesi per il controllo rebar corrente.

DWORD SetExtendedStyle(
    DWORD dwMask,
    DWORD dwStyleEx);

Parametri

dwMask
[in] Combinazione bit per bit (OR) di flag che specificano quali flag nel parametro dwStyleEx si applicano. Usare uno o più dei valori seguenti:

  • RBS_EX_SPLITTER: per impostazione predefinita, mostra lo splitter in basso in modalità orizzontale e a destra in modalità verticale.
  • RBS_EX_TRANSPARENT: inoltra il messaggio WM_ERASEBKGND alla finestra padre.

dwStyleEx
[in] Combinazione bit per bit (OR) di flag che specificano gli stili da applicare. Per impostare uno stile, specificare lo stesso flag usato nel parametro dwMask . Per reimpostare uno stile, specificare zero binario.

Valore restituito

Stile esteso precedente.

Osservazioni:

Questo metodo invia il messaggio di RB_SETEXTENDEDSTYLE , descritto in Windows SDK.

CReBarCtrl::SetImageList

Assegna un elenco di immagini a un controllo rebar.

BOOL SetImageList(CImageList* pImageList);

Parametri

pImageList
Puntatore a un oggetto CImageList contenente l'elenco di immagini da assegnare al controllo rebar.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

CReBarCtrl::SetOwner

Implementa il comportamento del messaggio Win32 RB_SETPARENT, come descritto in Windows SDK.

CWnd* SetOwner(CWnd* pWnd);

Parametri

pWnd
Puntatore a un CWnd oggetto da impostare come proprietario del controllo rebar.

Valore restituito

Puntatore a un oggetto CWnd proprietario corrente del controllo rebar.

Osservazioni:

Si noti che questa funzione membro usa puntatori agli CWnd oggetti sia per il proprietario corrente che per il proprietario selezionato del controllo rebar, anziché per le finestre.

Nota

Questa funzione membro non modifica l'elemento padre effettivo impostato al momento della creazione del controllo; invece invia messaggi di notifica alla finestra specificata.

CReBarCtrl::SetPalette

Implementa il comportamento del messaggio Win32 RB_SETPALETTE, come descritto in Windows SDK.

CPalette* SetPalette(HPALETTE hPal);

Parametri

hPal
HPALETTE che specifica la nuova tavolozza che verrà utilizzata dal controllo rebar.

Valore restituito

Puntatore a un oggetto CPalette che specifica la tavolozza precedente del controllo rebar.

Osservazioni:

Si noti che questa funzione membro usa un CPalette oggetto come valore restituito, anziché come HPALETTE.

CReBarCtrl::SetTextColor

Implementa il comportamento del messaggio Win32 RB_SETTEXTCOLOR, come descritto in Windows SDK.

COLORREF SetTextColor(COLORREF clr);

Parametri

clr
Valore COLORREF che rappresenta il nuovo colore del testo nell'oggetto CReBarCtrl .

Valore restituito

Valore COLORREF che rappresenta il colore di testo precedente associato all'oggetto CReBarCtrl .

Osservazioni:

Viene fornito per supportare la flessibilità dei colori del testo in un controllo rebar.

CReBarCtrl::SetToolTips

Associa un controllo descrizione comando a un controllo rebar.

void SetToolTips(CToolTipCtrl* pToolTip);

Parametri

pToolTip
Puntatore a un oggetto CToolTipCtrl

Osservazioni:

È necessario distruggere l'oggetto CToolTipCtrl al termine dell'operazione.

CReBarCtrl::SetWindowTheme

Imposta lo stile di visualizzazione del controllo rebar.

HRESULT SetWindowTheme(LPCWSTR pszSubAppName);

Parametri

pszSubAppName
Puntatore a una stringa Unicode che contiene lo stile di visualizzazione della barra di ripristino da impostare.

Valore restituito

Il valore restituito non viene utilizzato.

Osservazioni:

Questa funzione membro emula la funzionalità del messaggio di RB_SETWINDOWTHEME , come descritto in Windows SDK.

CReBarCtrl::ShowBand

Implementa il comportamento del messaggio Win32 RB_SHOWBAND, come descritto in Windows SDK.

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

Parametri

uBand
Indice in base zero di una banda nel controllo rebar.

fShow
Indica se la banda deve essere visualizzata o nascosta. Se questo valore è TRUE, verrà visualizzata la banda. In caso contrario, la banda verrà nascosta.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

CReBarCtrl::SizeToRect

Implementa il comportamento del messaggio Win32 RB_SIZETORECT, come descritto in Windows SDK.

BOOL SizeToRect(CRect& rect);

Parametri

rect
Riferimento a un oggetto CRect che specifica il rettangolo su cui deve essere ridimensionato il controllo rebar.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Si noti che questa funzione membro usa un CRect oggetto come parametro, anziché una RECT struttura.

Vedi anche

Classe CWnd
Grafico della gerarchia