Condividi tramite


Classe CBaseTabbedPane

Estende la funzionalità della CDockablePane Class per supportare la creazione di finestre a schede.

Sintassi

class CBaseTabbedPane : public CDockablePane

Membri

Costruttori pubblici

Nome Descrizione
CBaseTabbedPane::CBaseTabbedPane Costruttore predefinito.

Metodi pubblici

Nome Descrizione
CBaseTabbedPane::AddTab Aggiunge una nuova scheda a un riquadro a schede.
CBaseTabbedPane::AllowDestroyEmptyTabbedPane Specifica se un riquadro a schede vuoto può essere eliminato definitivamente.
CBaseTabbedPane::ApplyRestoredTabInfo Applica le impostazioni delle schede, caricate dal Registro di sistema, a un riquadro a schede.
CBaseTabbedPane::CanFloat Determina se il riquadro può essere mobile. (sostituzioni )CBasePane::CanFloat.
CBaseTabbedPane::CanSetCaptionTextToTabName Determina se la didascalia per il riquadro a schede deve visualizzare lo stesso testo della scheda attiva.
CBaseTabbedPane::ConvertToTabbedDocument (sostituzioni )CDockablePane::ConvertToTabbedDocument.
CBaseTabbedPane::D etachPane Converte uno o più riquadri ancorabili in documenti a schede MDI.
CBaseTabbedPane::EnableSetCaptionTextToTabName Abilita o disabilita la possibilità del riquadro a schede di sincronizzare il testo della didascalia con il testo dell'etichetta nella scheda attiva.
CBaseTabbedPane::FillDefaultTabsOrderArray Ripristina lo stato predefinito dell'ordine di tabulazioni interno.
CBaseTabbedPane::FindBarByTabNumber Restituisce un riquadro che si trova in una scheda quando la scheda è identificata da un indice di tabulazioni in base zero.
CBaseTabbedPane::FindPaneByID Restituisce un riquadro identificato dall'ID del riquadro.
CBaseTabbedPane::FloatTab Separa un riquadro, ma solo se il riquadro si trova in una scheda rimovibile.
CBaseTabbedPane::GetDefaultTabsOrder Restituisce l'ordine predefinito delle schede nel riquadro.
CBaseTabbedPane::GetFirstVisibleTab Recupera un puntatore alla prima scheda visualizzata.
CBaseTabbedPane::GetMinSize Recupera le dimensioni minime consentite per il riquadro. (sostituzioni )CPane::GetMinSize.)
CBaseTabbedPane::GetPaneIcon Restituisce un handle per l'icona del riquadro. (sostituzioni )CBasePane::GetPaneIcon.
CBaseTabbedPane::GetPaneList Restituisce un elenco di riquadri contenuti nel riquadro a schede.
CBaseTabbedPane::GetTabArea Restituisce i rettangoli di delimitazione per le aree di tabulazione superiore e inferiore.
CBaseTabbedPane::GetTabsNum Restituisce il numero di schede in una finestra di tabulazioni.
CBaseTabbedPane::GetUnderlyingWindow Ottiene la finestra della scheda sottostante (di cui è stato eseguito il wrapping).
CBaseTabbedPane::GetVisibleTabsNum Restituisce il conteggio delle schede visualizzate.
CBaseTabbedPane::HasAutoHideMode Determina se il riquadro a schede può essere impostato sulla modalità nascondi automaticamente.
CBaseTabbedPane::IsHidesingleTab Determina se il riquadro a schede è nascosto se viene visualizzata una sola scheda.
CBaseTabbedPane::LoadSiblingPaneIDs Utilizzato internamente durante la serializzazione.
CBaseTabbedPane::RecalcLayout Ricalcola le informazioni sul layout per il riquadro. (sostituzioni )CPane::RecalcLayout.
CBaseTabbedPane::RemovePane Rimuove un riquadro dal riquadro a schede.
CBaseTabbedPane::SaveSiblingBarIDs Utilizzato internamente durante la serializzazione.
CBaseTabbedPane::Serialize (sostituzioni )CDockablePane::Serialize.
CBaseTabbedPane::SerializeTabWindow Utilizzato internamente durante la serializzazione.
CBaseTabbedPane::SetAutoDestroy Determina se la barra di controllo a schede verrà eliminata automaticamente.
CBaseTabbedPane::SetAutoHideMode Attiva/disattiva il riquadro di ancoraggio tra la modalità di visualizzazione e nascondi automaticamente. (sostituzioni )CDockablePane::SetAutoHideMode.
CBaseTabbedPane::ShowTab Visualizza o nasconde una scheda.

Osservazioni:

Questa classe è una classe astratta e non può essere creata un'istanza. Implementa i servizi comuni a tutti i tipi di riquadri a schede.

Attualmente, la libreria include due classi di riquadri a schede derivate: classe CTabbedPane e classe CMFCOutlookBar.

Un CBaseTabbedPane oggetto esegue il wrapping di un puntatore a un oggetto Classe CMFCBaseTabCtrl. La classe CMFCBaseTabCtrl diventa quindi una finestra figlio del riquadro a schede.

Per altre informazioni su come creare riquadri a schede, vedere Classe CDockablePane, Classe CTabbedPane e classe CMFCOutlookBar.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

CBaseTabbedPane

Requisiti

Intestazione: afxBaseTabbedPane.h

CBaseTabbedPane::AddTab

Aggiunge una nuova scheda a un riquadro a schede.

virtual BOOL AddTab(
    CWnd* pNewBar,
    BOOL bVisible = TRUE,
    BOOL bSetActive = TRUE,
    BOOL bDetachable = TRUE);

Parametri

pNewBar
[in, out] Puntatore al riquadro da aggiungere. Questo puntatore potrebbe non essere valido dopo aver chiamato questo metodo. Per altre informazioni, vedere la sezione Osservazioni.

bVisible
[in] TRUE per rendere visibile la scheda; in caso contrario, FALSE.

bSetActive
[in] TRUE per rendere attiva la scheda; in caso contrario, FALSE.

bDetachable
[in] TRUE per rendere la scheda scollegabile; in caso contrario, FALSE.

Valore restituito

TRUE se il riquadro è stato aggiunto correttamente come scheda e non è stato eliminato definitivamente nel processo. FALSE se il riquadro da aggiungere è un oggetto di tipo CBaseTabbedPane. Per altre informazioni, vedere la sezione Osservazioni.

Osservazioni:

Chiamare questo metodo per aggiungere un riquadro come nuova scheda in un riquadro a schede. Se pNewBar punta a un oggetto di tipo CBaseTabbedPane, tutte le relative schede vengono copiate nel riquadro a schede e quindi pNewBar viene eliminato definitivamente. Pertanto, pNewBar diventa un puntatore non valido e non deve essere usato.

CBaseTabbedPane::AllowDestroyEmptyTabbedPane

Specifica se un riquadro a schede vuoto può essere eliminato definitivamente.

virtual BOOL AllowDestroyEmptyTabbedPane() const;

Valore restituito

TRUE se un riquadro a schede vuoto può essere eliminato definitivamente; in caso contrario, FALSE. L'implementazione predefinita restituisce sempre TRUE.

Osservazioni:

Se non è consentito eliminare definitivamente un riquadro a schede vuoto, il framework nasconde invece il riquadro.

CBaseTabbedPane::ApplyRestoredTabInfo

Carica le impostazioni delle schede dal Registro di sistema e le applica a un riquadro a schede.

virtual void ApplyRestoredTabInfo(BOOL bUseTabIndexes = FALSE);

Parametri

bUseTabIndexes
[in] Questo parametro viene usato internamente dal framework.

Osservazioni:

Questo metodo viene chiamato dal framework quando ricarica le informazioni sullo stato di ancoraggio dal Registro di sistema. Il metodo ottiene informazioni sull'ordine di tabulazioni e i nomi di tabulazioni per un riquadro a schede.

CBaseTabbedPane::CanFloat

Specifica se il riquadro a schede può essere mobile.

virtual BOOL CanFloat() const;

Valore restituito

TRUE se il riquadro può galleggiare; in caso contrario, FALSE.

CBaseTabbedPane::CanSetCaptionTextToTabName

Determina se la didascalia per il riquadro a schede deve visualizzare lo stesso testo della scheda attiva.

virtual BOOL CanSetCaptionTextToTabName() const;

Valore restituito

TRUE se il testo della didascalia del riquadro a schede è impostato sul testo della scheda attiva; in caso contrario, FALSE.

Osservazioni:

Il metodo viene utilizzato per determinare se il testo visualizzato nella didascalia del riquadro a schede duplica l'etichetta della scheda attiva. È possibile abilitare o disabilitare questa funzionalità chiamando CBaseTabbedPane::EnableSetCaptionTextToTabName.

CBaseTabbedPane::ConvertToTabbedDocument

Converte uno o più riquadri ancorabili in documenti a schede MDI.

virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);

Parametri

bActiveTabOnly
[in] Quando si converte un riquadro a schede, specificare TRUE per convertire solo la scheda attiva. Specificare FALSE per convertire tutte le schede nel riquadro.

CBaseTabbedPane::D etachPane

Scollega un riquadro dal riquadro a schede.

virtual BOOL DetachPane(
    CWnd* pBar,
    BOOL bHide = FALSE);

Parametri

pBar
[in] Puntatore al riquadro da scollegare.

bHide
[in] Parametro booleano che specifica se il framework nasconde il riquadro dopo che è stato scollegato.

Valore restituito

TRUE se il framework scollega correttamente il riquadro; FALSE se pBar è NULL o fa riferimento a un riquadro che non si trova nel riquadro a schede.

Osservazioni:

Il framework floats the detached pane if possible. Per altre informazioni, vedere CBasePane::CanFloat.

CBaseTabbedPane::EnableSetCaptionTextToTabName

Abilita o disabilita la possibilità del riquadro a schede di sincronizzare il testo della didascalia con il testo dell'etichetta nella scheda attiva.

virtual void EnableSetCaptionTextToTabName(BOOL bEnable);

Parametri

bEnable
[in] TRUE per sincronizzare la didascalia del riquadro a schede con la didascalia della scheda attiva; in caso contrario, FALSE.

CBaseTabbedPane::FillDefaultTabsOrderArray

Ripristina lo stato predefinito dell'ordine di tabulazioni interno.

void FillDefaultTabsOrderArray();

Osservazioni:

Questo metodo viene chiamato quando il framework ripristina uno stato iniziale di una barra di Outlook.

CBaseTabbedPane::FindPaneByID

Restituisce un riquadro identificato dall'ID del riquadro.

virtual CWnd* FindPaneByID(UINT uBarID);

Parametri

uBarID
[in] Specifica l'ID del riquadro da trovare.

Valore restituito

Puntatore al riquadro, se trovato; in caso contrario, NULL.

Osservazioni:

Questo metodo confronta tutte le schede nel riquadro e restituisce quella con l'ID specificato dal parametro uBarID .

CBaseTabbedPane::FindBarByTabNumber

Restituisce un riquadro che risiede in una scheda.

virtual CWnd* FindBarByTabNumber(
    int nTabNum,
    BOOL bGetWrappedBar = FALSE);

Parametri

nTabNum
[in] Specifica l'indice in base zero della scheda da recuperare.

bGetWrappedBar
[in] TRUE per restituire la finestra sottostante (incapsulata) del riquadro anziché il riquadro stesso; in caso contrario FALSE. Questo vale solo per i riquadri derivati da CDockablePaneAdapter.

Valore restituito

Se viene trovato il riquadro, viene restituito un puntatore valido al riquadro cercato; in caso contrario, NULL.

Osservazioni:

Chiamare questo metodo per recuperare il riquadro che si trova nella scheda specificata dal parametro nTabNum .

CBaseTabbedPane::FloatTab

Separa un riquadro, ma solo se il riquadro si trova in una scheda rimovibile.

virtual BOOL FloatTab(
    CWnd* pBar,
    int nTabID,
    AFX_DOCK_METHOD dockMethod,
    BOOL bHide = FALSE);

Parametri

pBar
[in, out] Puntatore al riquadro da spostare.

nTabID
[in] Specifica l'indice in base zero della scheda su float.

dockMethod
[in] Specifica il metodo da utilizzare per rendere il riquadro float. Per altre informazioni, vedere la sezione Osservazioni.

bHide
[in] TRUE per nascondere il riquadro prima di virgola mobile; in caso contrario, FALSE.

Valore restituito

TRUE se il riquadro è mobile; in caso contrario, FALSE.

Osservazioni:

Chiamare questo metodo per spostare un riquadro che attualmente si trova in una scheda scollegabile.

Se si vuole scollegare un riquadro a livello di codice, specificare DM_SHOW per il parametro dockMethod . Se si vuole spostare il riquadro nella stessa posizione in cui è stata spostata in precedenza, specificare DM_DBL_CLICK come parametro dockMethod .

CBaseTabbedPane::GetDefaultTabsOrder

Restituisce l'ordine predefinito delle schede nel riquadro.

const CArray<int,int>& GetDefaultTabsOrder();

Valore restituito

Oggetto CArray che specifica l'ordine predefinito delle schede nel riquadro.

Osservazioni:

Il framework chiama questo metodo quando una barra di Outlook viene reimpostata su uno stato iniziale.

CBaseTabbedPane::GetFirstVisibleTab

Recupera un puntatore alla prima scheda visualizzata.

virtual CWnd* GetFirstVisibleTab(int& iTabNum);

Parametri

iTabNum
[in] Riferimento a un numero intero. Questo metodo scrive l'indice in base zero della prima scheda visualizzata in questo parametro oppure -1 se non viene trovata alcuna scheda visualizzata.

Valore restituito

In caso di esito positivo, un puntatore alla prima scheda visualizzata; in caso contrario, NULL.

CBaseTabbedPane::GetMinSize

Recupera le dimensioni minime consentite per il riquadro.

virtual void GetMinSize(CSize& size) const;

Parametri

size
[out] Oggetto CSize riempito con la dimensione minima consentita.

Osservazioni:

Se la gestione coerente delle dimensioni minime dei riquadri è attiva ( CPane::m_bHandleMinSize), le dimensioni vengono riempite con le dimensioni minime consentite per la scheda attiva. In caso contrario, le dimensioni vengono riempite con il valore restituito CPane::GetMinSize.

CBaseTabbedPane::GetPaneIcon

Recupera le dimensioni minime consentite per il riquadro.

virtual void GetMinSize(CSize& size) const;

Parametri

size
[out] Oggetto CSize riempito con la dimensione minima consentita.

Osservazioni:

Se la gestione coerente delle dimensioni minime dei riquadri è attiva ( CPane::m_bHandleMinSize), le dimensioni vengono riempite con le dimensioni minime consentite per la scheda attiva. In caso contrario, le dimensioni vengono riempite con il valore restituito CPane::GetMinSize.

CBaseTabbedPane::GetPaneList

Restituisce un elenco di riquadri contenuti nel riquadro a schede.

virtual void GetPaneList(
    CObList& lst,
    CRuntimeClass* pRTCFilter = NULL);

Parametri

Lst
[out] Oggetto CObList riempito con i riquadri contenuti nel riquadro a schede.

pRTCFilter
[in] Se non è NULL, l'elenco restituito contiene solo riquadri della classe di runtime specificata.

CBaseTabbedPane::GetTabArea

Restituisce i rettangoli di delimitazione per le aree di tabulazione superiore e inferiore.

virtual void GetTabArea(
    CRect& rectTabAreaTop,
    CRect& rectTabAreaBottom) const = 0;

Parametri

rectTabAreaTop
[out] Riceve le coordinate dello schermo dell'area della scheda superiore.

rectTabAreaBottom
[out] Riceve le coordinate dello schermo dell'area della scheda inferiore.

Osservazioni:

Chiamare questo metodo per determinare i rettangoli di delimitazione, nelle coordinate dello schermo, per le aree di tabulazione superiore e inferiore.

CBaseTabbedPane::GetTabsNum

Restituisce il numero di schede in una finestra di tabulazioni.

virtual int GetTabsNum() const;

Valore restituito

Numero di schede nel riquadro a schede.

CBaseTabbedPane::GetUnderlyingWindow

Ottiene la finestra della scheda sottostante (di cui è stato eseguito il wrapping).

virtual CMFCBaseTabCtrl* GetUnderlyingWindow();

Valore restituito

Puntatore alla finestra della scheda sottostante.

CBaseTabbedPane::GetVisibleTabsNum

Restituisce il conteggio delle schede visibili.

virtual int GetVisibleTabsNum() const;

Valore restituito

Numero di schede visibili, che saranno maggiori o uguali a zero.

Osservazioni:

Chiamare questo metodo per determinare il numero di schede visibili nel riquadro a schede.

CBaseTabbedPane::HasAutoHideMode

Determina se il riquadro a schede può passare alla modalità Nascondi automaticamente.

virtual BOOL HasAutoHideMode() const;

Valore restituito

TRUE se il riquadro può essere impostato sulla modalità di individuazione automatica; in caso contrario, FALSE.

Osservazioni:

Se la modalità autohide è disabilitata, non viene visualizzato alcun pulsante di aggiunta nella didascalia del riquadro a schede.

CBaseTabbedPane::IsHidesingleTab

Determina se il riquadro a schede è nascosto se viene visualizzata una sola scheda.

virtual BOOL IsHideSingleTab() const;

Valore restituito

TRUE se la finestra della scheda non viene visualizzata quando è presente una sola scheda visibile; in caso contrario, FALSE.

Osservazioni:

Se il riquadro non viene visualizzato perché è aperta una sola scheda, è possibile chiamare questo metodo per determinare se il riquadro a schede funziona correttamente.

CBaseTabbedPane::RemovePane

Rimuove un riquadro dal riquadro a schede.

virtual BOOL RemovePane(CWnd* pBar);

Parametri

pBar
[in, out] Puntatore al riquadro da rimuovere dal riquadro a schede.

Valore restituito

TRUE se il riquadro è stato rimosso correttamente dal riquadro a schede e se il riquadro a schede è ancora valido. FALSE se l'ultimo riquadro è stato rimosso dal riquadro a schede e il riquadro a schede sta per essere eliminato definitivamente. Se il valore restituito è FALSE, non usare più il riquadro a schede.

Osservazioni:

Chiamare questo metodo per rimuovere il riquadro specificato dal parametro pBar dal riquadro a schede.

CBaseTabbedPane::SetAutoDestroy

Determina se la barra di controllo a schede verrà eliminata automaticamente.

void SetAutoDestroy(BOOL bAutoDestroy = TRUE);

Parametri

bAutoDestroy
[in] TRUE se il riquadro a schede è stato creato in modo dinamico e non si controlla la durata; in caso contrario, FALSE.

Osservazioni:

Impostare la modalità di eliminazione automatica su TRUE se si crea un riquadro a schede in modo dinamico e se non si controlla la durata. Se la modalità di eliminazione automatica è TRUE, il riquadro a schede verrà eliminato automaticamente dal framework.

CBaseTabbedPane::ShowTab

Visualizza o nasconde una scheda.

virtual BOOL ShowTab(
    CWnd* pBar,
    BOOL bShow,
    BOOL bDelay,
    BOOL bActivate);

Parametri

pBar
[in] Puntatore al riquadro da visualizzare o nascondere.

bShow
[in] TRUE per mostrare il riquadro; FALSE per nascondere il riquadro.

bDelay
[in] TRUE per ritardare la regolazione del layout della scheda; in caso contrario, FALSE.

bActivate
[in] TRUE per rendere attiva la scheda; in caso contrario, FALSE.

Valore restituito

TRUE se la scheda è stata visualizzata o nascosta correttamente; in caso contrario, FALSE.

Osservazioni:

Quando si chiama questo metodo, viene visualizzato o nascosto un riquadro, a seconda del valore del parametro bShow . Se si nasconde una scheda ed è l'ultima scheda visibile nella finestra della scheda sottostante, il riquadro a schede è nascosto. Se si visualizza una scheda quando in precedenza non erano visibili schede, viene visualizzato il riquadro a schede.

CBaseTabbedPane::RecalcLayout

Ricalcola le informazioni sul layout per il riquadro.

virtual void RecalcLayout();

Osservazioni:

Se il riquadro è mobile, questo metodo notifica al framework di ridimensionare il riquadro alle dimensioni correnti del mini-frame.

Se il riquadro è ancorato, questo metodo non esegue alcuna operazione.

CBaseTabbedPane::SetAutoHideMode

Imposta la modalità nascondi automaticamente per i riquadri scollegabili nel riquadro a schede.

virtual CMFCAutoHideToolBar* SetAutoHideMode(
    BOOL bMode,
    DWORD dwAlignment,
    CMFCAutoHideToolBar* pCurrAutoHideBar = NULL,
    BOOL bUseTimer = TRUE);

Parametri

bMode
[in] TRUE per abilitare la modalità nascondi automaticamente; FALSE per abilitare la normale modalità di ancoraggio.

dwAlignment
[in] Specifica l'allineamento del riquadro nascondi automaticamente da creare. Per un elenco dei valori possibili, vedere CPane::MoveByAlignment.

pCurrAutoHideBar
[in, out] Puntatore alla barra degli strumenti nascondi automaticamente corrente. Può essere NULL.

bUseTimer
[in] Specifica se utilizzare l'effetto nascondi automaticamente quando l'utente passa il riquadro alla modalità nascondi automaticamente o se nascondere immediatamente il riquadro.

Valore restituito

Puntatore alla barra degli strumenti nascondi automaticamente creata quando si passa alla modalità nascondi automaticamente o NULL se non viene creata alcuna barra degli strumenti.

Osservazioni:

Il framework chiama questo metodo quando un utente sceglie il pulsante per aggiungere il riquadro a schede alla modalità nascondi automaticamente o alla normale modalità di ancoraggio.

La modalità nascondi automaticamente è impostata per ogni riquadro scollegabile nel riquadro a schede. I riquadri non scollegabili vengono ignorati. Per altre informazioni, vedere CMFCBaseTabCtrl::EnableTabDetach.

Chiamare questo metodo per impostare un riquadro a schede sulla modalità nascondi automaticamente a livello di codice. Il riquadro deve essere ancorato alla finestra cornice principale ( CDockablePane::GetDefaultPaneDivider deve restituire un puntatore valido a CPaneDivider).

Vedi anche

Grafico della gerarchia
Classi
Classe CDockablePane