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.
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à
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:
Chiamare CReBarCtrl per costruire un
CReBarCtrl
oggetto .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 CToolTipCtrl
oggetto , 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.