Condividi tramite


Classe CDockablePane

Implementa un riquadro che può essere ancorato in un sito di ancoraggio o incluso in un riquadro a schede.

Sintassi

class CDockablePane : public CPane

Membri

Costruttori pubblici

Nome Descrizione
CDockablePane::CDockablePane Costruisce e inizializza un oggetto CDockablePane.

Metodi pubblici

Nome Descrizione
CDockablePane::AttachToTabWnd Collega un riquadro a un altro riquadro. Verrà creato un riquadro a schede.
CDockablePane::CalcFixedLayout Restituisce le dimensioni del rettangolo del riquadro.
CDockablePane::CanAcceptMiniFrame Determina se il mini frame specificato può essere ancorato al riquadro.
CDockablePane::CanAcceptPane Determina se è possibile ancorare un altro riquadro al riquadro corrente.
CDockablePane::CanAutoHide Determina se il riquadro supporta la modalità nascondi automaticamente. Esegue l'override di CBasePane::CanAutoHide.
CDockablePane::CanBeAttached Determina se il riquadro corrente può essere ancorato a un altro riquadro.
CDockablePane::ConvertToTabbedDocument Converte uno o più riquadri ancorabili in documenti a schede MDI.
CDockablePane::CopyState Copia lo stato di un riquadro ancorabile.
CDockablePane::Create Crea il controllo Windows e lo collega all'oggetto CDockablePane .
CDockablePane::CreateDefaultPaneDivider Crea un divisore predefinito per il riquadro mentre è ancorato a una finestra cornice.
CDockablePane::CreateEx Crea il controllo Windows e lo collega all'oggetto CDockablePane .
CDockablePane::CreateTabbedPane Crea un riquadro a schede dal riquadro corrente.
CDockablePane::DockPaneContainer Ancora un contenitore al riquadro.
CDockablePane::DockPaneStandard Ancora un riquadro usando l'ancoraggio struttura (standard).
CDockablePane::DockToFrameWindow Usato internamente. Per ancorare un riquadro, usare CPane::DockPane o CDockablePane::DockToWindow.
CDockablePane::DockToRecentPos Ancora un riquadro alla posizione di ancoraggio recente archiviata.
CDockablePane::DockToWindow Ancora un riquadro di ancoraggio a un altro riquadro di ancoraggio.
CDockablePane::EnableAutohideAll Abilita o disabilita la modalità nascondi automaticamente per questo riquadro insieme ad altri riquadri nel contenitore.
CDockablePane::EnableGripper Mostra o nasconde la didascalia (gripper).
CDockablePane::GetAHRestoredRect Specifica la posizione del riquadro quando è visibile in modalità nascondi automaticamente.
CDockablePane::GetAHSlideMode Recupera la modalità di nascondere automaticamente la diapositiva per il riquadro.
CDockablePane::GetAutoHideButton Usato internamente.
CDockablePane::GetAutoHideToolBar Usato internamente.
CDockablePane::GetCaptionHeight Restituisce l'altezza della didascalia corrente.
CDockablePane::GetDefaultPaneDivider Restituisce il divisore del riquadro predefinito per il contenitore del riquadro.
CDockablePane::GetDockingStatus Determina la possibilità di ancorare un riquadro in base alla posizione del puntatore specificata.
CDockablePane::GetDragSensitivity Restituisce la sensibilità di trascinamento di un riquadro di ancoraggio.
CDockablePane::GetLastPercentInPaneContainer Recupera la percentuale di spazio occupata da un riquadro all'interno del contenitore.
CDockablePane::GetTabArea Recupera l'area della scheda per il riquadro.
CDockablePane::GetTabbedPaneRTC Restituisce le informazioni sulla classe di runtime relative a una finestra a schede creata quando un altro riquadro si ancora al riquadro corrente.
CDockablePane::HasAutoHideMode Specifica se un riquadro di ancoraggio può essere impostato sulla modalità nascondi automaticamente.
CDockablePane::HitTest Specifica la posizione specifica in un riquadro in cui l'utente fa clic su un mouse.
CDockablePane::IsAccessibilityCompatible Usato internamente.
CDockablePane::IsAutohideAllEnabled Indica se il riquadro di ancoraggio e tutti gli altri riquadri nel contenitore possono essere posizionati in modalità nascondi automaticamente.
CDockablePane::IsAutoHideMode Determina se un riquadro è in modalità nascondi automaticamente.
CDockablePane::IsChangeState Usato internamente.
CDockablePane::IsDocked Determina se il riquadro corrente è ancorato.
CDockablePane::IsHideInAutoHideMode Determina il comportamento di un riquadro in modalità nascondi automaticamente se viene visualizzato (o nascosto) chiamando ShowPane.
CDockablePane::IsInFloatingMultiPaneFrameWnd Specifica se il riquadro si trova in una finestra cornice a più riquadri.
CDockablePane::IsResizable Specifica se il riquadro è ridimensionabile.
CDockablePane::IsTabLocationBottom Specifica se le schede si trovano nella parte superiore o inferiore del riquadro.
CDockablePane::IsTracked Specifica se un riquadro viene trascinato dall'utente.
CDockablePane::IsVisible Determina se il riquadro corrente è visibile.
CDockablePane::LoadState Usato internamente.
CDockablePane::OnAfterChangeParent Chiamato dal framework quando l'elemento padre di un riquadro è stato modificato. Esegue l'override di CPane::OnAfterChangeParent.
CDockablePane::OnAfterDockFromMiniFrame Chiamato dal framework quando una barra di ancoraggio mobile si ancora in una finestra cornice.
CDockablePane::OnBeforeChangeParent Chiamato dal framework quando l'elemento padre del riquadro sta per cambiare. Esegue l'override di CPane::OnBeforeChangeParent.
CDockablePane::OnBeforeFloat Chiamato dal framework quando un riquadro sta per essere mobile. Esegue l'override di CPane::OnBeforeFloat.
CDockablePane::RemoveFromDefaultPaneDividier Il framework chiama questo metodo quando viene scollegato un riquadro.
CDockablePane::ReplacePane Sostituisce il riquadro con un riquadro specificato.
CDockablePane::RestoreDefaultPaneDivider Il framework chiama questo metodo come riquadro viene deserializzato per ripristinare il divisore del riquadro predefinito.
CDockablePane::SaveState Usato internamente.
CDockablePane::Serialize Serializza il riquadro. Esegue l'override di CBasePane::Serialize.
CDockablePane::SetAutoHideMode Attiva o disattiva il riquadro di ancoraggio tra la modalità visibile e quella nascondi automaticamente.
CDockablePane::SetAutoHideParents Imposta il pulsante nascondi automaticamente e la barra degli strumenti nascondi automaticamente per il riquadro.
CDockablePane::SetDefaultPaneDivider Usato internamente.
CDockablePane::SetLastPercentInPaneContainer Imposta la percentuale di spazio occupata da un riquadro all'interno del relativo contenitore.
CDockablePane::SetResizeMode Usato internamente.
CDockablePane::SetRestoredDefaultPaneDivider Imposta il divisore del riquadro predefinito ripristinato.
CDockablePane::SetTabbedPaneRTC Imposta le informazioni sulla classe di runtime per una finestra a schede creata quando due riquadri ancorano insieme.
CDockablePane::ShowPane Visualizza o nasconde un riquadro.
CDockablePane::Slide Visualizza o nasconde un riquadro con un'animazione scorrevole che viene visualizzata solo quando il riquadro è in modalità nascondi automaticamente.
CDockablePane::ToggleAutoHide Attiva/disattiva la modalità nascondi automaticamente. (Esegue l'override CPane::ToggleAutoHide di .)
CDockablePane::UndockPane Scollega un riquadro dalla finestra cornice principale o da un contenitore di finestre miniframe.
CDockablePane::UnSetAutoHideMode Usato internamente. Per impostare la modalità nascondi automaticamente, usare CDockablePane::SetAutoHideMode

Metodi protetti

Nome Descrizione
CDockablePane::CheckAutoHideCondition Determina se il riquadro di ancoraggio è nascosto (in modalità nascondi automaticamente).
CDockablePane::CheckStopSlideCondition Determina quando un riquadro di ancoraggio nascondi automaticamente deve interrompere lo scorrimento.
CDockablePane::DrawCaption Disegna la didascalia del riquadro di ancoraggio (gripper).
CDockablePane::OnPressButtons Chiamato quando l'utente preme un pulsante didascalia diverso dai AFX_HTCLOSE pulsanti e AFX_HTMAXBUTTON .
CDockablePane::OnSlide Chiamato dal framework per eseguire il rendering dell'effetto diapositiva nascondi automaticamente quando il riquadro viene visualizzato o nascosto.

Membri dei dati

Nome Descrizione
CDockablePane::m_bDisableAnimation Specifica se l'animazione nascondi automaticamente del riquadro ancorabile è disabilitata.
CDockablePane::m_bHideInAutoHideMode Determina il comportamento del riquadro quando il riquadro è in modalità nascondi automaticamente.
CDockablePane::m_nSlideSteps Specifica la velocità di animazione del riquadro quando viene visualizzata o nascosta quando è in modalità nascondi automaticamente.

Osservazioni:

CDockablePane implementa le funzionalità seguenti:

  • Ancoraggio di un riquadro a una finestra cornice principale.

  • Passaggio di un riquadro alla modalità nascondi automaticamente.

  • Collegamento di un riquadro a una finestra a schede.

  • Spostamento di un riquadro in una finestra miniframe.

  • Ancorare un riquadro a un altro riquadro mobile in una finestra miniframe.

  • Ridimensionamento di un riquadro.

  • Caricamento e salvataggio dello stato per un riquadro di ancoraggio.

    Nota

    Le informazioni sullo stato vengono salvate nel Registro di sistema di Windows.

  • Creazione di un riquadro con o senza didascalia. La didascalia può avere un'etichetta di testo e può essere riempita con un colore sfumato.

  • Trascinamento di un riquadro durante la visualizzazione del contenuto del riquadro

  • Trascinamento di un riquadro durante la visualizzazione di un rettangolo di trascinamento.

Per usare un riquadro di ancoraggio nell'applicazione, derivare la classe del CDockablePane riquadro dalla classe . Incorporare l'oggetto derivato nell'oggetto finestra cornice principale o in un oggetto finestra che controlla l'istanza del riquadro. Chiamare quindi il CDockablePane::Create metodo o il CDockablePane::CreateEx metodo quando si elabora il WM_CREATE messaggio nella finestra cornice principale. Configurare infine l'oggetto riquadro chiamando CBasePane::EnableDocking, CBasePane::DockPaneo CDockablePane::AttachToTabWnd.

Suggerimenti per la personalizzazione

I suggerimenti seguenti si applicano agli CDockablePane oggetti:

  • Se si chiama CDockablePane::AttachToTabWnd per due riquadri non a schede, nel parametro verrà restituito ppTabbedControlBar un puntatore a una finestra a schede. È possibile continuare ad aggiungere schede alla finestra a schede usando questo parametro.

  • Il tipo di riquadro a schede creato da CDockablePane::AttachToTabWnd è determinato dall'oggetto CDockablePane nel pTabControlBarAttachTo parametro . È possibile chiamare CDockablePane::SetTabbedPaneRTC per impostare il tipo di riquadro a schede che CDockablePane verrà creato da . Il tipo predefinito è determinato da dwTabbedStyle quando CDockablePane::Create si crea per la prima volta .CDockablePane Se dwTabbedStyle è AFX_CBRS_OUTLOOK_TABS il tipo predefinito è CMFCOutlookBar Class; se dwTabbedStyle è AFX_CBRS_REGULAR_TABS il tipo predefinito è CTabbedPane Class.

  • Se si vuole ancorare un riquadro ancorabile a un altro, chiamare il CDockablePane::DockToWindow metodo . Il riquadro originale deve essere ancorato da qualche parte prima di chiamare questo metodo.

  • La variabile CDockablePane::m_bHideInAutoHideMode membro controlla il comportamento dei riquadri ancorabili in modalità nascondi automatica quando si chiama CDockablePane::ShowPane. Se questa variabile membro è impostata su TRUE, i riquadri ancorabili e i pulsanti nascondi automaticamente verranno nascosti. In caso contrario, scorreranno verso l'esterno e verso l'esterno.

  • È possibile disabilitare l'animazione nascondi automaticamente impostando la CDockablePane::m_bDisableAnimation variabile membro su TRUE.

Esempio

Nell'esempio seguente viene illustrato come configurare un CDockablePane oggetto usando vari metodi nella CDockablePane classe . L'esempio illustra come abilitare la funzionalità nascondi automaticamente tutte le funzionalità per il riquadro ancorabile, abilitare la didascalia o il gripper, abilitare la modalità nascondi automaticamente, mostrare il riquadro e animare un riquadro in modalità nascondi automaticamente. Questo frammento di codice fa parte dell'esempio demo di Visual Studio.

// GetOwner is an inherited method.
CDockablePane *pParentBar = DYNAMIC_DOWNCAST(CDockablePane, GetOwner());
pParentBar->EnableAutohideAll();
pParentBar->EnableGripper(true);
pParentBar->SetAutoHideMode(true, CBRS_ALIGN_LEFT);
pParentBar->ShowPane(true, false, true);
pParentBar->Slide(true);

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

Requisiti

Intestazione: afxDockablePane.h

CDockablePane::AttachToTabWnd

Collega il riquadro corrente a un riquadro di destinazione, creando un riquadro a schede.

virtual CDockablePane* AttachToTabWnd(
    CDockablePane* pTabControlBarAttachTo,
    AFX_DOCK_METHOD dockMethod,
    BOOL bSetActive= TRUE,
    CDockablePane** ppTabbedControlBar = NULL);

Parametri

pTabControlBarAttachTo
[in, out] Specifica il riquadro di destinazione a cui è associato il riquadro corrente. Il riquadro di destinazione deve essere un riquadro ancorabile.

dockMethod
[in] Specifica il metodo di ancoraggio.

bSetActive
[in] TRUE per attivare il riquadro a schede dopo l'operazione di collegamento; in caso contrario, FALSE.

ppTabbedControlBar
[out] Contiene il riquadro a schede risultante dall'operazione di collegamento.

Valore restituito

Puntatore al riquadro corrente, se non è un riquadro a schede; in caso contrario, un puntatore al riquadro a schede risultante dall'operazione di collegamento. Il valore restituito è NULL se il riquadro corrente non può essere associato o se si verifica un errore.

Osservazioni:

Quando un riquadro ancorabile si collega a un altro riquadro usando questo metodo, si verifica quanto segue:

  1. Il framework controlla se il riquadro pTabControlBarAttachTo di destinazione è un normale riquadro di ancoraggio o se è derivato da CBaseTabbedPane.

  2. Se il riquadro di destinazione è un riquadro a schede, il framework aggiunge il riquadro corrente come scheda.

  3. Se il riquadro di destinazione è un riquadro di ancoraggio normale, il framework crea un riquadro a schede.

    • Il framework chiama pTabControlBarAttachTo->CreateTabbedPane. Lo stile del nuovo riquadro a schede dipende dal m_pTabbedControlBarRTC membro. Per impostazione predefinita, questo membro è impostato sulla classe di runtime di CTabbedPane. Se si passa lo AFX_CBRS_OUTLOOK_TABS stile come dwTabbedStyle parametro al CDockablePane::Create metodo , l'oggetto classe di runtime viene impostato sulla classe di runtime di CMFCOutlookBar. È possibile modificare questo membro in qualsiasi momento per modificare lo stile del nuovo riquadro.

    • Quando questo metodo crea un riquadro a schede, il framework sostituisce il puntatore a pTabControlBarAttachTo (se il riquadro è ancorato o mobile in una finestra multi-miniframe) con un puntatore al nuovo riquadro a schede.

    • Il framework aggiunge il pTabControlBarAttachTo riquadro al riquadro a schede come prima scheda. Il framework aggiunge quindi il riquadro corrente come seconda scheda.

  4. Se il riquadro corrente è derivato da CBaseTabbedPane, tutte le relative schede vengono spostate in pTabControlBarAttachTo e il riquadro corrente viene eliminato definitivamente. Pertanto, prestare attenzione quando si chiama questo metodo, perché un puntatore al riquadro corrente potrebbe non essere valido quando viene restituito il metodo .

Se si collega un riquadro a un altro durante la creazione di un layout di ancoraggio, impostare su dockMethod DM_SHOW.

È necessario ancorare il primo riquadro prima di collegarvi un altro riquadro.

CDockablePane::CalcFixedLayout

Restituisce le dimensioni del rettangolo del riquadro.

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Parametri

bStretch
[in] Non utilizzato.

bHorz
[in] Non utilizzato.

Valore restituito

Oggetto CSize contenente le dimensioni del rettangolo del riquadro.

CDockablePane::CanAcceptMiniFrame

Determina se il mini-frame specificato può essere ancorato al riquadro.

virtual BOOL CanAcceptMiniFrame(CPaneFrameWnd* pMiniFrame) const;

Parametri

pMiniFrame
[in] Puntatore a un CPaneFrameWnd oggetto .

Valore restituito

TRUE se pMiniFrame può essere ancorato al riquadro; in caso contrario, FALSE.

CDockablePane::CanAcceptPane

Determina se è possibile ancorare un altro riquadro al riquadro corrente.

virtual BOOL CanAcceptPane(const CBasePane* pBar) const;

Parametri

pBar
[in] Specifica il riquadro da ancorare al riquadro corrente.

Valore restituito

TRUE se il riquadro specificato può essere ancorato a questo riquadro; in caso contrario, FALSE.

Osservazioni:

Il framework chiama questo metodo prima che un riquadro sia ancorato al riquadro corrente.

Eseguire l'override di questa funzione in una classe derivata per abilitare o disabilitare l'ancoraggio a un riquadro specifico.

Per impostazione predefinita, questo metodo restituisce TRUE se pBar o il relativo elemento padre è di tipo CDockablePane.

CDockablePane::CanAutoHide

Determina se il riquadro può nascondersi automaticamente.

virtual BOOL CanAutoHide() const;

Valore restituito

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

Osservazioni:

CDockablePane::CanAutoHide restituisce FALSE in una delle situazioni seguenti:

  • Il riquadro non ha un elemento padre.

  • Il gestore di ancoraggio non consente ai riquadri di nascondersi automaticamente.

  • Il riquadro non è ancorato.

CDockablePane::CanBeAttached

Determina se il riquadro corrente può essere ancorato a un altro riquadro.

virtual BOOL CanBeAttached() const;

Valore restituito

TRUE se il riquadro ancorabile può essere ancorato a un altro riquadro o alla finestra cornice principale; in caso contrario, FALSE.

Osservazioni:

Per impostazione predefinita, questo metodo restituisce TRUEsempre . Eseguire l'override di questo metodo in una classe derivata per abilitare o disabilitare l'ancoraggio senza chiamare CBasePane::EnableDocking.

CDockablePane::CDockablePane

Costruisce e inizializza un oggetto CDockablePane.

CDockablePane();

Osservazioni:

Dopo aver costruito un oggetto riquadro ancorabile, chiamare CDockablePane::Create o CDockablePane::CreateEx crearlo.

CDockablePane::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 CTabbedPaneoggetto , specificare TRUE per convertire solo la scheda attiva. Specificare FALSE per convertire tutte le schede nel riquadro.

CDockablePane::CheckAutoHideCondition

Determina se il riquadro di ancoraggio è nascosto (noto anche come modalità di espansione automatica).

virtual BOOL CheckAutoHideCondition();

Valore restituito

TRUE se la condizione di nascondi viene soddisfatta; in caso contrario, FALSE.

Osservazioni:

Il framework usa un timer per controllare periodicamente se nascondere un riquadro ancorabile con estensione automatica. Il metodo restituisce TRUE quando il riquadro non è attivo, il riquadro non viene ridimensionato e il puntatore del mouse non si trova sul riquadro.

Se vengono soddisfatte tutte le condizioni precedenti, il framework chiama CDockablePane::Slide per nascondere il riquadro.

CDockablePane::CheckStopSlideCondition

Determina quando un riquadro di ancoraggio automatico deve interrompere lo scorrimento.

virtual BOOL CheckStopSlideCondition(BOOL bDirection);

Parametri

bDirection
[in] TRUE se il riquadro è visibile; FALSE se il riquadro è nascosto.

Valore restituito

TRUE se la condizione di arresto viene soddisfatta; in caso contrario, FALSE.

Osservazioni:

Quando un riquadro ancorabile è impostato sulla modalità di visualizzazione automatica, il framework usa effetti scorrevoli per mostrare o nascondere il riquadro. Il framework chiama questa funzione quando il riquadro è scorrevole. CheckStopSlideCondition restituisce TRUE quando il riquadro è completamente visibile o quando è completamente nascosto.

Eseguire l'override di questo metodo in una classe derivata per implementare effetti di autohide personalizzati.

CDockablePane::CopyState

Copia lo stato di un riquadro ancorabile.

virtual void CopyState(CDockablePane* pOrgBar);

Parametri

pOrgBar
[in] Puntatore a un riquadro ancorabile.

Osservazioni:

CDockablePane::CopyState copia lo stato di pOrgBar nel riquadro corrente chiamando i metodi seguenti:

CDockablePane::Create

Crea il controllo Windows e lo collega all'oggetto CDockablePane .

virtual BOOL Create(
    LPCTSTR lpszCaption,
    CWnd* pParentWnd,
    const RECT& rect,
    BOOL bHasGripper,
    UINT nID,
    DWORD dwStyle,
    DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
    DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
    CCreateContext* pContext = NULL);

virtual BOOL Create(
    LPCTSTR lpszWindowName,
    CWnd* pParentWnd,
    CSize sizeDefault,
    BOOL bHasGripper,
    UINT nID,
    DWORD dwStyle = WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_HIDE_INPLACE,
    DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
    DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE);

Parametri

lpszCaption
[in] Specifica il nome della finestra.

pParentWnd
[in, out] Specifica la finestra padre.

rect
[in] Specifica le dimensioni e la posizione della finestra, nelle coordinate client di pParentWnd.

bHasGripper
[in] TRUE per creare il riquadro con una didascalia; in caso contrario, FALSE.

nID
[in] Specifica l'ID della finestra figlio. Questo valore deve essere univoco se si desidera salvare lo stato di ancoraggio per questo riquadro di ancoraggio.

dwStyle
[in] Specifica gli attributi dello stile della finestra.

dwTabbedStyle
[in] Specifica lo stile a schede di una finestra a schede creata quando l'utente trascina un riquadro nella didascalia di questo riquadro.

dwControlBarStyle
[in] Specifica attributi di stile aggiuntivi.

pContext
[in, out] Specifica il contesto di creazione della finestra.

lpszWindowName
[in] Specifica il nome della finestra.

sizeDefault
[in] Specifica le dimensioni della finestra.

Valore restituito

TRUE se il riquadro ancorabile viene creato correttamente; in caso contrario, FALSE.

Osservazioni:

Crea un riquadro di Windows e lo collega all'oggetto CDockablePane .

Se lo stile della dwStyle finestra ha il CBRS_FLOAT_MULTI flag , la finestra miniframe può essere mobile con altri riquadri nella finestra del miniframe. Per impostazione predefinita, i riquadri di ancoraggio possono essere mobili solo singolarmente.

Se il dwTabbedStyle parametro ha il AFX_CBRS_OUTLOOK_TABS flag specificato, il riquadro crea riquadri a schede in stile Outlook quando un altro riquadro è collegato a questo riquadro utilizzando il CDockablePane::AttachToTabWnd metodo . Per impostazione predefinita, i riquadri ancorabili creano riquadri a schede regolari di tipo CTabbedPane.

CDockablePane::CreateDefaultPaneDivider

Crea un divisore predefinito per il riquadro mentre è ancorato a una finestra cornice.

static CPaneDivider* __stdcall CreateDefaultPaneDivider(
    DWORD dwAlignment,
    CWnd* pParent,
    CRuntimeClass* pSliderRTC = NULL);

Parametri

dwAlignment
[in] Specifica il lato del frame principale a cui è ancorato il riquadro. Se contiene il CBRS_ALIGN_LEFT flag o CBRS_ALIGN_RIGHT , questo metodo crea un divisore verticale (CPaneDivider::SS_VERT). In caso contrario, questo metodo crea un divisore orizzontale (CPaneDivider::SS_HORZ).dwAlignment

pParent
[in] Puntatore al frame padre.

pSliderRTC
[in] Non utilizzato.

Valore restituito

Questo metodo restituisce un puntatore al divisore appena creato oppure NULL se la creazione del divisore ha esito negativo.

Osservazioni:

dwAlignment può essere uno dei valori seguenti:

valore Descrizione
CBRS_ALIGN_TOP Il riquadro viene ancorato all'inizio dell'area client di una finestra cornice.
CBRS_ALIGN_BOTTOM Il riquadro viene ancorato alla parte inferiore dell'area client di una finestra cornice.
CBRS_ALIGN_LEFT Il riquadro viene ancorato al lato sinistro dell'area client di una finestra cornice.
CBRS_ALIGN_RIGHT Il riquadro viene ancorato al lato destro dell'area client di una finestra cornice.

CDockablePane::CreateEx

Crea il controllo Windows e lo collega all'oggetto CDockablePane .

virtual BOOL CreateEx(
    DWORD dwStyleEx,
    LPCTSTR lpszCaption,
    CWnd* pParentWnd,
    const RECT& rect,
    BOOL bHasGripper,
    UINT nID,
    DWORD dwStyle,
    DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
    DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
    CCreateContext* pContext = NULL);

Parametri

dwStyleEx
[in] Specifica gli attributi dello stile esteso per la nuova finestra.

lpszCaption
[in] Specifica il nome della finestra.

pParentWnd
[in, out] Specifica la finestra padre.

rect
[in] Specifica le dimensioni e la posizione della finestra, nelle coordinate client di pParentWnd.

bHasGripper
[in] TRUE per creare il riquadro con una didascalia; in caso contrario, FALSE.

nID
[in] Specifica l'ID della finestra figlio. Questo valore deve essere univoco se si desidera salvare lo stato di ancoraggio per questo riquadro di ancoraggio.

dwStyle
[in] Specifica gli attributi dello stile della finestra.

dwTabbedStyle
[in] Specifica lo stile a schede di una finestra a schede creata quando l'utente trascina un riquadro nella didascalia di questo riquadro.

dwControlBarStyle
[in] Specifica gli attributi di stile aggiuntivi.

pContext
[in, out] Specifica il contesto di creazione della finestra.

Valore restituito

TRUE se il riquadro ancorabile viene creato correttamente; in caso contrario, FALSE.

Osservazioni:

Crea un riquadro di Windows e lo collega all'oggetto CDockablePane .

Se lo stile della dwStyle finestra ha il CBRS_FLOAT_MULTI flag , la finestra miniframe può essere mobile con altri riquadri nella finestra del miniframe. Per impostazione predefinita, i riquadri di ancoraggio possono essere mobili solo singolarmente.

Se il dwTabbedStyle parametro ha il AFX_CBRS_OUTLOOK_TABS flag specificato, il riquadro crea riquadri a schede in stile Outlook quando un altro riquadro è collegato a questo riquadro utilizzando il CDockablePane::AttachToTabWnd metodo . Per impostazione predefinita, i riquadri ancorabili creano riquadri a schede regolari di tipo CTabbedPane.

CDockablePane::CreateTabbedPane

Crea un riquadro a schede dal riquadro corrente.

virtual CTabbedPane* CreateTabbedPane();

Valore restituito

Nuovo riquadro a schede o NULL se l'operazione di creazione non è riuscita.

Osservazioni:

Il framework chiama questo metodo quando crea un riquadro a schede per sostituire questo riquadro. Per ulteriori informazioni, vedere CDockablePane::AttachToTabWnd.

Eseguire l'override di questo metodo in una classe derivata per personalizzare la modalità di creazione e inizializzazione dei riquadri a schede.

Il riquadro a schede viene creato in base alle informazioni della classe di runtime archiviate nel m_pTabbedControlBarRTC membro, inizializzate dal CDockablePane::CreateEx metodo .

CDockablePane::DockPaneContainer

Ancora un contenitore al riquadro.

virtual BOOL DockPaneContainer(
    CPaneContainerManager& barContainerManager,
    DWORD dwAlignment,
    AFX_DOCK_METHOD dockMethod);

Parametri

barContainerManager
[in] Riferimento al gestore contenitori del contenitore ancorato.

dwAlignment
[in] DWORD che specifica il lato del riquadro a cui è ancorato il contenitore.

dockMethod
[in] Non utilizzato.

Valore restituito

TRUE se il contenitore è stato ancorato correttamente al riquadro; in caso contrario, FALSE.

Osservazioni:

dwAlignment può essere uno dei valori seguenti:

valore Descrizione
CBRS_ALIGN_TOP Il contenitore viene ancorato all'inizio del riquadro.
CBRS_ALIGN_BOTTOM Il contenitore viene ancorato alla fine del riquadro.
CBRS_ALIGN_LEFT Il contenitore viene ancorato a sinistra del riquadro.
CBRS_ALIGN_RIGHT Il contenitore viene ancorato a destra del riquadro.

CDockablePane::DockPaneStandard

Ancora un riquadro usando l'ancoraggio struttura (standard).

virtual CPane* DockPaneStandard(BOOL& bWasDocked);

Parametri

bWasDocked
[in] Quando il metodo termina, questo valore contiene TRUE se il riquadro è stato ancorato correttamente; in caso contrario, contiene FALSE.

Valore restituito

Se il riquadro è stato ancorato a una finestra a schede o se è stata creata una finestra a schede in seguito all'ancoraggio, questo metodo restituisce un puntatore alla finestra a schede. Se il riquadro è stato ancorato correttamente, questo metodo restituisce il this puntatore. Se l'ancoraggio non è riuscito, questo metodo restituisce NULL.

CDockablePane::DockToRecentPos

Ancora un riquadro alla posizione di ancoraggio archiviata.

BOOL CDockablePane::DockToRecentPos();

Valore restituito

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

Osservazioni:

I riquadri ancorabili archiviano le informazioni di ancoraggio recenti in un CRecentDockSiteInfo oggetto .

CDockablePane::DockToWindow

Ancora un riquadro di ancoraggio a un altro riquadro di ancoraggio.

virtual BOOL DockToWindow(
    CDockablePane* pTargetWindow,
    DWORD dwAlignment,
    LPCRECT lpRect = NULL);

Parametri

pTargetWindow
[in, out] Specifica il riquadro ancorabile a cui ancorare il riquadro.

dwAlignment
[in] Specifica l'allineamento dell'ancoraggio per il riquadro. Può essere uno di CBRS_ALIGN_LEFT, CBRS_ALIGN_TOP, CBRS_ALIGN_RIGHTCBRS_ALIGN_BOTTOM o CBRS_ALIGN_ANY. (Definito in afxres.h.)

lpRect
[in] Specifica il rettangolo di ancoraggio per il riquadro.

Valore restituito

TRUE se il riquadro è stato ancorato correttamente; in caso contrario, FALSE.

Osservazioni:

Chiamare questo metodo per ancorare un riquadro a un altro riquadro con l'allineamento specificato da dwAlignment.

CDockablePane::DrawCaption

Disegna la didascalia (detta anche gripper) di un riquadro di ancoraggio.

virtual void DrawCaption(
    CDC* pDC,
    CRect rectCaption);

Parametri

pDC
[in] Rappresenta il contesto di dispositivo utilizzato per il disegno.

rectCaption
[in] Specifica il rettangolo di delimitazione della didascalia del riquadro.

Osservazioni:

Il framework chiama questo metodo per disegnare la didascalia di un riquadro ancorabile.

Eseguire l'override di questo metodo in una classe derivata per personalizzare l'aspetto della didascalia.

CDockablePane::EnableAutohideAll

Abilita o disabilita la modalità di visualizzazione automatica per questo riquadro e per altri riquadri nel contenitore.

void EnableAutohideAll(BOOL bEnable = TRUE);

Parametri

bEnable
[in] TRUE per abilitare l'individuazione automatica di tutte le funzionalità per il riquadro ancorabile; in caso contrario, FALSE.

Osservazioni:

Quando un utente tiene premuto CTRL e fa clic sul pulsante per aggiungere un riquadro alla modalità di visualizzazione automatica, anche tutti gli altri riquadri nello stesso contenitore passano alla modalità di visualizzazione automatica.

Chiamare questo metodo con bEnable impostato su FALSE per disabilitare questa funzionalità per un riquadro specifico.

CDockablePane::EnableGripper

Mostra o nasconde la didascalia (detta anche gripper).

virtual void EnableGripper(BOOL bEnable);

Parametri

bEnable
[in] TRUE per abilitare la didascalia; in caso contrario, FALSE.

Osservazioni:

Quando il framework crea riquadri ancorabili, non ha lo stile della WS_STYLE finestra, anche se specificato. Ciò significa che la didascalia del riquadro è un'area non client controllata dal framework, ma questa area differisce dalla didascalia della finestra standard.

È possibile visualizzare o nascondere la didascalia in qualsiasi momento. Il framework nasconde la didascalia quando un riquadro viene aggiunto come scheda a una finestra a schede o quando un riquadro viene spostato in una finestra miniframe.

CDockablePane::GetAHRestoredRect

Specifica la posizione del riquadro in modalità nascondi automaticamente.

CRect GetAHRestoredRect() const;

Valore restituito

Oggetto CRect che contiene la posizione del riquadro quando è in modalità nascondi automaticamente.

Osservazioni:

CDockablePane::GetAHSlideMode

Recupera la modalità di nascondere automaticamente la diapositiva per il riquadro.

virtual UINT GetAHSlideMode() const;

Valore restituito

Oggetto UINT che specifica la modalità di nascondere automaticamente la diapositiva per il riquadro. Il valore restituito può essere AFX_AHSM_MOVE o AFX_AHSM_STRETCH, ma l'implementazione usa AFX_AHSM_MOVEsolo .

Osservazioni:

CDockablePane::GetCaptionHeight

Restituisce l'altezza, in pixel, della didascalia corrente.

virtual int GetCaptionHeight() const;

Valore restituito

Altezza della didascalia, in pixel.

Osservazioni:

L'altezza della didascalia è 0 se la didascalia è stata nascosta dal CDockablePane::EnableGripper metodo o se il riquadro non ha una didascalia.

CDockablePane::GetDefaultPaneDivider

Restituisce il divisore del riquadro predefinito per il contenitore del riquadro.

CPaneDivider* GetDefaultPaneDivider() const;

Valore restituito

Oggetto valido CPaneDivider se il riquadro ancorabile è ancorato alla finestra cornice principale o NULL se il riquadro ancorabile non è ancorato o se è mobile.

Osservazioni:

Per altre informazioni sui divisori di riquadri, vedere CPaneDivider Classe.

CDockablePane::GetDockingStatus

Determina la possibilità di ancorare un riquadro in base alla posizione del puntatore specificata.

virtual AFX_CS_STATUS GetDockingStatus(
    CPoint pt,
    int nSensitivity);

Parametri

pt
[in] Posizione del puntatore nelle coordinate dello schermo.

nSensitivity
[in] La distanza, espressa in pixel, dal bordo di un rettangolo, il puntatore deve essere per abilitare l'ancoraggio.

Valore restituito

Uno dei valori di stato seguenti:

Valore AFX_CS_STATUS significato
CS_NOTHING Il puntatore non è posizionato su un sito di ancoraggio. Il framework non ancora il riquadro.
CS_DOCK_IMMEDIATELY Il puntatore si trova sul sito dock in modalità immediata (il riquadro usa la DT_IMMEDIATE modalità di ancoraggio). Il framework ancora immediatamente il riquadro.
CS_DELAY_DOCK Il puntatore si trova su un sito di ancoraggio che è un altro riquadro di ancoraggio o è un bordo della cornice principale. Il framework ancora il riquadro dopo un ritardo. Per altre informazioni su questo ritardo, vedere la sezione Osservazioni.
CS_DELAY_DOCK_TO_TAB Il puntatore si trova su un sito di ancoraggio che causa l'ancoraggio del riquadro in una finestra a schede. Ciò si verifica quando il puntatore si trova sulla didascalia di un altro riquadro di ancoraggio o sull'area di tabulazioni di un riquadro a schede.

Osservazioni:

Il framework chiama questo metodo per gestire l'ancoraggio di un riquadro mobile.

Per le barre degli strumenti mobili o i riquadri di ancoraggio che usano la DT_IMMEDIATE modalità di ancoraggio, il framework ritarda il comando dock per consentire all'utente di spostare la finestra dall'area client del frame padre prima dell'ancoraggio. La lunghezza del ritardo viene misurata in millisecondi ed è controllata dal CDockingManager::m_nTimeOutBeforeToolBarDock membro dati. Il valore predefinito di CDockingManager::m_nTimeOutBeforeToolBarDock è 200. Questo comportamento emula il comportamento di ancoraggio di Microsoft Word 2007.

Per gli stati di ancoraggio ritardati (CS_DELAY_DOCK e CS_DELAY_DOCK_TO_TAB), il framework non esegue l'ancoraggio finché l'utente non rilascia il pulsante del mouse. Se un riquadro usa la DT_STANDARD modalità di ancoraggio, il framework visualizza un rettangolo nella posizione di ancoraggio proiettata. Se un riquadro usa la DT_SMART modalità di ancoraggio, il framework visualizza indicatori di ancoraggio intelligenti e rettangoli semitrasparente nella posizione di ancoraggio proiettata. Per specificare la modalità di ancoraggio per il riquadro, chiamare il CBasePane::SetDockingMode metodo . Per altre informazioni sull'ancoraggio intelligente, vedere CDockingManager::GetSmartDockingParams.

CDockablePane::GetDragSensitivity

Restituisce la sensibilità di trascinamento di un riquadro di ancoraggio.

static const CSize& GetDragSensitivity();

Valore restituito

Oggetto CSize che contiene la larghezza e l'altezza, in pixel, di un rettangolo centrato su un punto di trascinamento. L'operazione di trascinamento non inizia finché il puntatore del mouse non si sposta all'esterno di questo rettangolo.

CDockablePane::GetLastPercentInPaneContainer

Recupera la percentuale di spazio occupata da un riquadro nel relativo contenitore ( CPaneContainer Classe).

int GetLastPercentInPaneContainer() const;

Valore restituito

Oggetto int che specifica la percentuale di spazio occupata dal riquadro nel relativo contenitore.

Osservazioni:

Questo metodo viene usato quando il contenitore modifica il relativo layout.

CDockablePane::GetTabArea

Recupera l'area della scheda per il riquadro.

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

Parametri

rectTabAreaTop
[in] GetTabArea riempie questa variabile con l'area della scheda se le schede si trovano nella parte superiore del riquadro. Se le schede si trovano nella parte inferiore del riquadro, questa variabile viene riempita con un rettangolo vuoto.

rectTabAreaBottom
[in] GetTabArea riempie questa variabile con l'area della scheda se le schede si trovano nella parte inferiore del riquadro. Se le schede si trovano nella parte superiore del riquadro, questa variabile viene riempita con un rettangolo vuoto.

Osservazioni:

Questo metodo viene usato solo nelle classi derivate da CDockablePane e hanno schede. Per altre informazioni, vedere CTabbedPane::GetTabArea e CMFCOutlookBar::GetTabArea.

CDockablePane::GetTabbedPaneRTC

Restituisce le informazioni sulla classe di runtime relative a una finestra a schede creata quando un altro riquadro si ancora al riquadro corrente.

CRuntimeClass* GetTabbedPaneRTC() const;

Valore restituito

Informazioni sulla classe di runtime per il riquadro ancorabile.

Osservazioni:

Chiamare questo metodo per recuperare le informazioni sulla classe di runtime per i riquadri a schede creati in modo dinamico. Ciò può verificarsi quando un utente trascina un riquadro nella didascalia di un altro riquadro o se si chiama il CDockablePane::AttachToTabWnd metodo per creare un riquadro a schede a livello di codice da due riquadri ancorabili.

È possibile impostare le informazioni sulla classe di runtime chiamando il CDockablePane::SetTabbedPaneRTC metodo .

CDockablePane::HasAutoHideMode

Specifica se un riquadro di ancoraggio può essere impostato sulla modalità di espansione automatica.

virtual BOOL HasAutoHideMode() const;

Valore restituito

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

Osservazioni:

Eseguire l'override di questo metodo in una classe derivata per disabilitare la modalità autohide per un riquadro ancorabile specifico.

CDockablePane::HitTest

Specifica la posizione in un riquadro in cui l'utente fa clic su un mouse.

virtual int HitTest(
    CPoint point,
    BOOL bDetectCaption = FALSE);

Parametri

point
[in] Specifica il punto da testare.

bDetectCaption
[in] TRUE se HTCAPTION deve essere restituito se il punto si trova nella didascalia del riquadro; in caso contrario, FALSE.

Valore restituito

Uno dei valori seguenti:

  • HTNOWHERE se point non è presente nel riquadro ancorabile.

  • HTCLIENT se point si trova nell'area client del riquadro ancorabile.

  • HTCAPTION se point si trova nell'area della didascalia del riquadro ancorabile.

  • AFX_HTCLOSE se point è sul pulsante di chiusura.

  • HTMAXBUTTON se point si trova sul pulsante del segnaposto.

CDockablePane::IsAutohideAllEnabled

Indica se il riquadro di ancoraggio e tutti gli altri riquadri nel contenitore possono essere passati alla modalità di individuazione automatica.

virtual BOOL IsAutohideAllEnabled() const;

Valore restituito

TRUE se il riquadro ancorabile e tutti gli altri riquadri nel contenitore possono essere passati alla modalità di individuazione automatica; in caso contrario, FALSE.

Osservazioni:

Un utente abilita la modalità autohide facendo clic sul pulsante di ancoraggio tenendo premuto CTRL

Per abilitare o disabilitare questo comportamento, chiamare il CDockablePane::EnableAutohideAll metodo .

CDockablePane::IsAutoHideMode

Determina se un riquadro è in modalità autohide.

virtual BOOL IsAutoHideMode() const;

Valore restituito

TRUE se il riquadro ancorabile è in modalità autohide; in caso contrario, FALSE.

CDockablePane::IsDocked

Determina se il riquadro corrente è ancorato.

virtual BOOL IsDocked() const;

Valore restituito

TRUE se il riquadro ancorabile non appartiene a una finestra miniframe o se è mobile in una finestra miniframe con un altro riquadro. FALSE se il riquadro è figlio di una finestra miniframe e non ci sono altri riquadri che appartengono alla finestra del miniframe.

Osservazioni:

Per determinare se il riquadro è ancorato alla finestra cornice principale, chiamare CDockablePane::GetDefaultPaneDivider. Se il metodo restituisce un puntatore nonNULL , il riquadro viene ancorato alla finestra cornice principale.

CDockablePane::IsHideInAutoHideMode

Determina il comportamento di un riquadro in modalità autohide se viene visualizzato (o nascosto) chiamando CDockablePane::ShowPane.

virtual BOOL IsHideInAutoHideMode() const;

Valore restituito

TRUE se il riquadro ancorabile deve essere nascosto in modalità autohide; in caso contrario, FALSE.

Osservazioni:

Quando un riquadro ancorabile è in modalità autohide, si comporta in modo diverso quando si chiama ShowPane per nascondere o visualizzare il riquadro. Questo comportamento è controllato dal membro CDockablePane::m_bHideInAutoHideModestatico . Se questo membro è TRUE, il riquadro ancorabile e la relativa barra degli strumenti o pulsante di individuazione automatica correlati vengono nascosti o visualizzati quando si chiama ShowPane. In caso contrario, il riquadro ancorabile viene attivato o disattivato e la barra degli strumenti o l'ambiente automatico correlato è sempre visibile.

Eseguire l'override di questo metodo in una classe derivata per modificare il comportamento predefinito per i singoli riquadri.

Il valore predefinito per m_bHideInAutoHideMode è FALSE.

CDockablePane::IsInFloatingMultiPaneFrameWnd

Specifica se il riquadro si trova in una finestra cornice a più riquadri ( CMultiPaneFrameWnd Class).

virtual BOOL IsInFloatingMultiPaneFrameWnd() const;

Valore restituito

TRUE se il riquadro si trova in una finestra cornice multiquadri; in caso contrario, FALSE.

Osservazioni:

CDockablePane::IsResizable

Specifica se il riquadro è ridimensionabile.

virtual BOOL IsResizable() const;

Valore restituito

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

Osservazioni:

Per impostazione predefinita, i riquadri ancorabili sono ridimensionabili. Per evitare il ridimensionamento, eseguire l'override di questo metodo in una classe derivata e restituire FALSE. Si noti che un FALSE valore porta a un errore ASSERT in CPane::DockPane. Usare CDockingManager::AddPane invece per ancorare un riquadro all'interno di un frame padre.

I riquadri che non possono essere ridimensionati non possono né float né attivare la modalità nascondi automaticamente e si trovano sempre sul bordo esterno del frame padre.

CDockablePane::IsTabLocationBottom

Specifica se le schede si trovano nella parte superiore o inferiore del riquadro.

virtual BOOL IsTabLocationBottom() const;

Valore restituito

TRUE se le schede si trovano nella parte inferiore del riquadro; FALSE se le schede si trovano nella parte superiore del riquadro.

Osservazioni:

Per ulteriori informazioni, vedere CTabbedPane::IsTabLocationBottom.

CDockablePane::IsTracked

Specifica se un riquadro viene spostato dall'utente.

BOOL IsTracked() const;

Valore restituito

TRUE se il riquadro viene spostato; in caso contrario, FALSE.

CDockablePane::IsVisible

Determina se il riquadro corrente è visibile.

virtual BOOL IsVisible() const;

Valore restituito

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

Osservazioni:

Chiamare questo metodo per determinare se un riquadro ancorabile è visibile. È possibile usare questo metodo anziché chiamare o testare CWnd::IsWindowVisible lo WS_VISIBLE stile. Lo stato di visibilità restituito dipende dal fatto che la modalità autohide sia abilitata o disabilitata e sul valore della CDockablePane::IsHideInAutoHideMode proprietà.

Se il riquadro ancorabile è in modalità autohide e IsHideInAutoHideMode restituisce FALSE lo stato di visibilità è sempre FALSE.

Se il riquadro ancorabile è in modalità autohide e IsHideInAutoHideMode restituisce TRUE lo stato di visibilità dipende dallo stato di visibilità della barra degli strumenti di autohide correlata.

Se il riquadro ancorabile non è in modalità autohide, lo stato di visibilità viene determinato dal CBasePane::IsVisible metodo .

## CDockablePane::LoadState

Solo per uso interno. Per altri dettagli, vedere il codice sorgente che si trova nella mfc cartella dell'installazione di Visual Studio. Ad esempio: %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

virtual BOOL LoadState(
   LPCTSTR lpszProfileName = NULL,
   int nIndex = -1,
   UINT uiID = (UINT) -1
);

CDockablePane::m_bDisableAnimation

Specifica se l'animazione dell'ide automatico del riquadro ancorabile è disabilitata.

AFX_IMPORT_DATA static BOOL m_bDisableAnimation;

CDockablePane::m_bHideInAutoHideMode

Determina il comportamento del riquadro quando il riquadro è in modalità autohide.

AFX_IMPORT_DATA static BOOL m_bHideInAutoHideMode;

Osservazioni:

Questo valore influisce su tutti i riquadri di ancoraggio nell'applicazione.

Se si imposta questo membro su TRUE, i riquadri ancorabili vengono nascosti o visualizzati con le relative barre degli strumenti e pulsanti di individuazione automatica correlati quando si chiama CDockablePane::ShowPane.

Se si imposta questo membro su FALSE, i riquadri ancorabili vengono attivati o disattivati quando si chiama CDockablePane::ShowPane.

CDockablePane::m_nSlideSteps

Specifica la velocità di animazione del riquadro quando è in modalità autohide.

AFX_IMPORT_DATA static int m_nSlideSteps;

Osservazioni:

Per un effetto di animazione più veloce, ridurre questo valore. Per un effetto di animazione più lento, aumentare questo valore.

CDockablePane::OnAfterChangeParent

Per altri dettagli, vedere il codice sorgente che si trova nella mfc cartella dell'installazione di Visual Studio. Ad esempio: %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

virtual void OnAfterChangeParent(CWnd* pWndOldParent);

Parametri

[in] pWndOldParent\

Osservazioni:

CDockablePane::OnAfterDockFromMiniFrame

Chiamato dal framework quando una barra di ancoraggio mobile si ancora in una finestra cornice.

virtual void OnAfterDockFromMiniFrame();

Osservazioni:

Per impostazione predefinita, questo metodo non effettua alcuna operazione.

CDockablePane::OnBeforeChangeParent

Il framework chiama questo metodo prima di modificare l'elemento padre del riquadro.

virtual void OnBeforeChangeParent(
    CWnd* pWndNewParent,
    BOOL bDelay = FALSE);

Parametri

pWndNewParent
[in] Puntatore alla nuova finestra padre.

bDelay
[in] BOOL che specifica se ritardare il ricalcolo del layout di ancoraggio se il riquadro è scollegato. Per ulteriori informazioni, vedere CDockablePane::UndockPane.

Osservazioni:

Se il riquadro è ancorato e il nuovo elemento padre non consente l'ancoraggio, questo metodo scollega il riquadro.

Se il riquadro viene convertito in un documento a schede, questo metodo archivia la posizione di ancoraggio recente. Il framework usa la posizione di ancoraggio recente per ripristinare la posizione del riquadro quando viene riconvertita in uno stato ancorato.

CDockablePane::OnBeforeFloat

Il framework chiama questo metodo prima che un riquadro passi a uno stato mobile.

virtual BOOL OnBeforeFloat(
    CRect& rectFloat,
    AFX_DOCK_METHOD dockMethod);

Parametri

rectFloat
[in] Specifica la posizione e le dimensioni del riquadro quando si trova in uno stato mobile.

dockMethod
[in] Specifica il metodo di ancoraggio. Vedere CPane::DockPane per un elenco dei valori possibili.

Valore restituito

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

Osservazioni:

Questo metodo viene chiamato dal framework quando un riquadro sta per essere float. È possibile eseguire l'override di questo metodo in una classe derivata se si desidera eseguire qualsiasi elaborazione prima che il riquadro venga spostato.

CDockablePane::OnPressButtons

Chiamato quando l'utente preme un pulsante didascalia diverso dai AFX_HTCLOSE pulsanti e AFX_HTMAXBUTTON .

virtual void OnPressButtons(UINT nHit);

Parametri

nHit
[in] Questo parametro non viene usato.

Osservazioni:

Se si aggiunge un pulsante personalizzato alla didascalia di un riquadro ancorabile, eseguire l'override di questo metodo per ricevere notifiche quando un utente preme il pulsante.

CDockablePane::OnSlide

Chiamato dal framework per animare il riquadro quando è in modalità di elaborazione automatica.

virtual void OnSlide(BOOL bSlideOut);

Parametri

bSlideOut
[in] TRUE per visualizzare il riquadro; FALSE per nascondere il riquadro.

Osservazioni:

Eseguire l'override di questo metodo in una classe derivata per implementare effetti di autohide personalizzati.

CDockablePane::RemoveFromDefaultPaneDividier

Il framework chiama questo metodo quando viene scollegato un riquadro.

void RemoveFromDefaultPaneDividier();

Osservazioni:

Questo metodo imposta il divisore del riquadro predefinito su NULL e rimuove il riquadro dal relativo contenitore.

CDockablePane::ReplacePane

Sostituisce il riquadro con un riquadro specificato.

BOOL ReplacePane(
    CDockablePane* pBarToReplaceWith,
    AFX_DOCK_METHOD dockMethod,
    BOOL bRegisterWithFrame = FALSE);

Parametri

pBarToReplaceWith
[in] Puntatore a un riquadro ancorabile.

dockMethod
[in] Non utilizzato.

bRegisterWithFrame
[in] Se TRUE, il nuovo riquadro viene registrato con il gestore di ancoraggio dell'elemento padre del riquadro precedente. Il nuovo riquadro viene inserito in corrispondenza dell'indice del riquadro precedente nell'elenco dei riquadri gestiti dal gestore di ancoraggio.

Valore restituito

TRUE se la sostituzione ha esito positivo; in caso contrario, FALSE.

CDockablePane::RestoreDefaultPaneDivider

Quando un riquadro viene deserializzato, il framework chiama questo metodo per ripristinare il divisore del riquadro predefinito.

void RestoreDefaultPaneDivider();

Osservazioni:

Il divisore del riquadro predefinito ripristinato sostituisce il divisore del riquadro predefinito corrente, se esistente.

CDockablePane::SetAutoHideMode

Attiva/disattiva il riquadro di ancoraggio tra la modalità visibile e l'ambiente di espansione automatica.

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

Parametri

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

dwAlignment
[in] Specifica l'allineamento del riquadro autohide da creare.

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

bUseTimer
[in] Specifica se utilizzare l'effetto autohide quando l'utente passa il riquadro alla modalità di visualizzazione automatica o se nascondere immediatamente il riquadro.

Valore restituito

Barra degli strumenti dell'ambiente automatico creata in seguito al passaggio alla modalità di individuazione automatica o NULL.

Osservazioni:

Il framework chiama questo metodo quando un utente fa clic sul pulsante aggiungi per passare il riquadro ancorabile alla modalità di espansione automatica o alla normale modalità di ancoraggio.

Chiamare questo metodo per cambiare un riquadro ancorabile alla modalità di individuazione automatica a livello di codice. Il riquadro deve essere ancorato alla finestra cornice principale ( CDockablePane::GetDefaultPaneDivider deve restituire un puntatore valido a CPaneDivider).

CDockablePane::SetAutoHideParents

Imposta il pulsante nascondi automaticamente e la barra degli strumenti nascondi automaticamente per il riquadro.

void SetAutoHideParents(
    CMFCAutoHideBar* pToolBar,
    CMFCAutoHideButton* pBtn);

Parametri

pToolBar
[in] Puntatore a una barra degli strumenti nascondi automaticamente.

pBtn
[in] Puntatore a un pulsante nascondi automaticamente.

CDockablePane::SetLastPercentInPaneContainer

Imposta la percentuale di spazio occupata da un riquadro nel relativo contenitore.

void SetLastPercentInPaneContainer(int n);

Parametri

n
[in] Oggetto int che specifica la percentuale di spazio occupata dal riquadro nel relativo contenitore.

Osservazioni:

Il framework regola il riquadro in modo da usare il nuovo valore quando il layout viene ricalcolato.

CDockablePane::SetRestoredDefaultPaneDivider

Imposta il divisore del riquadro predefinito ripristinato.

void SetRestoredDefaultPaneDivider(HWND hRestoredSlider);

Parametri

hRestoredSlider
[in] Handle per un divisore del riquadro (dispositivo di scorrimento).

Osservazioni:

Un divisore di riquadro predefinito ripristinato viene ottenuto quando un riquadro viene deserializzato. Per ulteriori informazioni, vedere CDockablePane::RestoreDefaultPaneDivider.

CDockablePane::SetTabbedPaneRTC

Imposta le informazioni sulla classe di runtime per una finestra a schede creata quando due riquadri ancorano insieme.

void SetTabbedPaneRTC(CRuntimeClass* pRTC);

Parametri

pRTC
[in] Informazioni sulla classe di runtime per il riquadro a schede.

Osservazioni:

Chiamare questo metodo per impostare le informazioni sulla classe di runtime per i riquadri a schede creati in modo dinamico. Ciò può verificarsi quando un utente trascina un riquadro nella didascalia di un altro riquadro o se si chiama il CDockablePane::AttachToTabWnd metodo per creare un riquadro a schede a livello di codice da due riquadri ancorabili.

La classe di runtime predefinita viene impostata in base al dwTabbedStyle parametro di CDockablePane::Create e CDockablePane::CreateEx. Per personalizzare i nuovi riquadri a schede, derivare la classe da una delle classi seguenti:

Chiamare quindi questo metodo con il puntatore alle informazioni sulla classe di runtime.

CDockablePane::ShowPane

Visualizza o nasconde un riquadro.

virtual void ShowPane(
    BOOL bShow,
    BOOL bDelay,
    BOOL bActivate);

Parametri

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

bDelay
[in] TRUE per ritardare la regolazione del layout di ancoraggio; FALSE per regolare immediatamente il layout di ancoraggio.

bActivate
[in] TRUE per attivare il riquadro quando viene visualizzato; in caso contrario, FALSE.

Osservazioni:

Chiamare questo metodo anziché quando CWnd::ShowWindow vengono visualizzati o nascosti riquadri ancorabili.

CDockablePane::Slide

Aggiunge un'animazione a un riquadro in modalità autohide.

virtual void Slide(
    BOOL bSlideOut,
    BOOL bUseTimer = TRUE);

Parametri

bSlideOut
[in] TRUE per visualizzare il riquadro; FALSE per nascondere il riquadro.

bUseTimer
[in] TRUE per mostrare o nascondere il riquadro con l'effetto autohide; FALSE per visualizzare o nascondere immediatamente il riquadro.

Osservazioni:

Il framework chiama questo metodo per animare un riquadro in modalità autohide.

Questo metodo usa il CDockablePane::m_nSlideDefaultTimeOut valore per determinare il timeout per l'effetto diapositiva. Il valore predefinito per il timeout è 1. Se si personalizza l'algoritmo autohide, modificare questo membro per modificare il timeout.

CDockablePane::ToggleAutoHide

Attiva/disattiva il riquadro tra la modalità nascondi automaticamente e quella visibile sempre.

virtual void ToggleAutoHide();

Osservazioni:

Questo metodo attiva/disattiva la modalità nascondi automaticamente per il riquadro chiamando CDockablePane::SetAutoHideMode.

CDockablePane::UndockPane

Scollega un riquadro dalla finestra cornice principale o da un contenitore di finestre miniframe.

virtual void UndockPane(BOOL bDelay = FALSE);

Parametri

bDelay
[in] TRUE per ritardare il calcolo del layout di ancoraggio; FALSE per ricalcolare immediatamente il layout di ancoraggio.

Osservazioni:

Chiamare questo metodo per scollegare un riquadro dalla finestra cornice principale o da un contenitore di finestre multi-miniframe (un riquadro mobile in una singola finestra miniframe con altri riquadri).

È necessario scollegare un riquadro prima di eseguire qualsiasi operazione esterna non eseguita da CDockingManager. Ad esempio, è necessario scollegare un riquadro per spostarlo a livello di codice da una posizione a un'altra.

Il framework rimuove automaticamente i riquadri prima che vengano eliminati definitivamente.

Vedi anche

Grafico della gerarchia
Classi
CPane Classe