Classe CDockablePane
Implementa un riquadro che può essere ancorato in un sito dock 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 .) |
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 di didascalia diverso dai pulsanti AFX_HTCLOSE 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 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 riquadro dalla classe CDockablePane
. Incorporare l'oggetto derivato nell'oggetto finestra cornice principale o in un oggetto finestra che controlla l'istanza del riquadro. Chiamare quindi il metodo CDockablePane::Create
o il metodo CDockablePane::CreateEx
quando si elabora il messaggio WM_CREATE
nella finestra cornice principale. Configurare infine l'oggetto riquadro chiamando CBasePane::EnableDocking
, CBasePane::DockPane
o CDockablePane::AttachToTabWnd
.
Suggerimenti per la personalizzazione
I suggerimenti seguenti si applicano agli oggetti CDockablePane
:
Se si chiama
CDockablePane::AttachToTabWnd
per due riquadri non a schede, un puntatore a una finestra a schede verrà restituito nel parametroppTabbedControlBar
. È possibile continuare ad aggiungere schede alla finestra a schede usando questo parametro.Il tipo di riquadro a schede creato da
CDockablePane::AttachToTabWnd
viene determinato dall'oggettoCDockablePane
nel parametropTabControlBarAttachTo
. È possibile chiamareCDockablePane::SetTabbedPaneRTC
per impostare il tipo di riquadro a schede creato dalCDockablePane
. Il tipo predefinito è determinato daldwTabbedStyle
diCDockablePane::Create
quando si crea per la prima volta ilCDockablePane
. SedwTabbedStyle
èAFX_CBRS_OUTLOOK_TABS
il tipo predefinito èCMFCOutlookBar
Class; sedwTabbedStyle
èAFX_CBRS_REGULAR_TABS
il tipo predefinito èCTabbedPane
Classe.Se si desidera ancorare un riquadro ancorabile a un altro, chiamare il metodo
CDockablePane::DockToWindow
. Il riquadro originale deve essere ancorato da qualche parte prima di chiamare questo metodo.La variabile membro
CDockablePane::m_bHideInAutoHideMode
controlla il comportamento dei riquadri ancorabili in modalità nascondi automatica quando si chiamaCDockablePane::ShowPane
. Se questa variabile membro è impostata suTRUE
, 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 variabile membro
CDockablePane::m_bDisableAnimation
suTRUE
.
Esempio
Nell'esempio seguente viene illustrato come configurare un oggetto CDockablePane
usando vari metodi nella classe CDockablePane
. 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à
Fabbisogno
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:
Il framework controlla se il riquadro di destinazione
pTabControlBarAttachTo
è un normale riquadro di ancoraggio o se è derivato daCBaseTabbedPane
.Se il riquadro di destinazione è un riquadro a schede, il framework aggiunge il riquadro corrente come scheda.
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 membrom_pTabbedControlBarRTC
. Per impostazione predefinita, questo membro è impostato sulla classe di runtime diCTabbedPane
. Se si passa lo stileAFX_CBRS_OUTLOOK_TABS
come parametrodwTabbedStyle
al metodoCDockablePane::Create
, l'oggetto classe di runtime viene impostato sulla classe di runtime diCMFCOutlookBar
. È 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 multiframe) con un puntatore al nuovo riquadro a schede.Il framework aggiunge il riquadro
pTabControlBarAttachTo
al riquadro a schede come prima scheda. Il framework aggiunge quindi il riquadro corrente come seconda scheda.
Se il riquadro corrente è derivato da
CBaseTabbedPane
, tutte le relative schede vengono spostate inpTabControlBarAttachTo
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 dockMethod
su 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
che contiene 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 oggetto CPaneFrameWnd
.
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 padre è di tipo CDockablePane
.
CDockablePane::CanAutoHide
Determina se il riquadro può nascondersi automaticamente.
virtual BOOL CanAutoHide() const;
Valore restituito
TRUE
se il riquadro può nascondersi 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 sempre TRUE
. 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
per 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 CTabbedPane
, 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 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 viene soddisfatta la condizione di arresto; 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 è stato creato correttamente; in caso contrario, FALSE
.
Osservazioni
Crea un riquadro di Windows e lo collega all'oggetto CDockablePane
.
Se lo stile della finestra dwStyle
ha il flag CBRS_FLOAT_MULTI
, la finestra del miniframe può essere mobile con altri riquadri nella finestra del miniframe. Per impostazione predefinita, i riquadri di ancoraggio possono essere mobili solo singolarmente.
Se nel parametro dwTabbedStyle
è specificato il flag di AFX_CBRS_OUTLOOK_TABS
, il riquadro crea riquadri a schede in stile Outlook quando un altro riquadro viene collegato a questo riquadro utilizzando il metodo CDockablePane::AttachToTabWnd
. 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 dwAlignment
contiene il flag CBRS_ALIGN_LEFT
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
).
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 è stato creato correttamente; in caso contrario, FALSE
.
Osservazioni
Crea un riquadro di Windows e lo collega all'oggetto CDockablePane
.
Se lo stile della finestra dwStyle
ha il flag CBRS_FLOAT_MULTI
, la finestra del miniframe può essere mobile con altri riquadri nella finestra del miniframe. Per impostazione predefinita, i riquadri di ancoraggio possono essere mobili solo singolarmente.
Se nel parametro dwTabbedStyle
è specificato il flag di AFX_CBRS_OUTLOOK_TABS
, il riquadro crea riquadri a schede in stile Outlook quando un altro riquadro viene collegato a questo riquadro utilizzando il metodo CDockablePane::AttachToTabWnd
. 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 altre 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 sulla classe di runtime archiviate nel membro m_pTabbedControlBarRTC
, inizializzato dal metodo CDockablePane::CreateEx
.
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 puntatore this
. 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 oggetto CRecentDockSiteInfo
.
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 dei CBRS_ALIGN_LEFT
, CBRS_ALIGN_TOP
, CBRS_ALIGN_RIGHT
, CBRS_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 il tasto CTRL
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 finestra WS_STYLE
, 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à diapositiva nascondi automaticamente per il riquadro. Il valore restituito può essere AFX_AHSM_MOVE
o AFX_AHSM_STRETCH
, ma l'implementazione usa solo AFX_AHSM_MOVE
.
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 è nascosta dal metodo CDockablePane::EnableGripper
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 CPaneDivider
valido 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 modalità di ancoraggio DT_IMMEDIATE ). 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 modalità di ancoraggio DT_IMMEDIATE
, 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 membro dati CDockingManager::m_nTimeOutBeforeToolBarDock
. 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 modalità di ancoraggio DT_STANDARD
, il framework visualizza un rettangolo nella posizione di ancoraggio proiettata. Se un riquadro usa la modalità di ancoraggio DT_SMART
, 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 metodo CBasePane::SetDockingMode
. 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 di tabulazioni 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 di tabulazioni 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 con 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 metodo CDockablePane::AttachToTabWnd
per creare a livello di codice un riquadro a schede da due riquadri ancorabili.
È possibile impostare le informazioni sulla classe di runtime chiamando il metodo CDockablePane::SetTabbedPaneRTC
.
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à autohide; 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
sepoint
non è presente nel riquadro ancorabile.HTCLIENT
sepoint
si trova nell'area client del riquadro ancorabile.HTCAPTION
sepoint
si trova nell'area della didascalia del riquadro ancorabile.AFX_HTCLOSE
sepoint
si trova sul pulsante di chiusura.HTMAXBUTTON
sepoint
si trova sul pulsante di aggiunta.
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 visualizzazione automatica; in caso contrario, FALSE
.
Osservazioni
Un utente abilita la modalità autohide facendo clic sul pulsante di ancoraggio tenendo premuto ctrl ctrl
Per abilitare o disabilitare questo comportamento, chiamare il metodo CDockablePane::EnableAutohideAll
.
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 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 statico CDockablePane::m_bHideInAutoHideMode
. Se questo membro è TRUE
, il riquadro ancorabile e la relativa barra degli strumenti o il relativo pulsante di individuazione automatica 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 a più riquadri; 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 valore di FALSE
porta a un ASSERT
non riuscito in CPane::DockPane
. Usare invece CDockingManager::AddPane
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 altre 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 CWnd::IsWindowVisible
o testare lo stile di WS_VISIBLE
. Lo stato di visibilità restituito dipende dal fatto che la modalità di visualizzazione automatica sia abilitata o disabilitata e sul valore della proprietà CDockablePane::IsHideInAutoHideMode
.
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 dell'ambiente automatico correlato.
Se il riquadro ancorabile non è in modalità autohide, lo stato di visibilità viene determinato dal metodo CBasePane::IsVisible
.
##
CDockablePane::LoadState
Solo per uso interno. Per altri dettagli, vedere il codice sorgente che si trova nella cartella mfc
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 sono 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 cartella mfc
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 esegue 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 altre 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. Per un elenco dei possibili valori, vedere CPane::DockPane
.
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 di didascalia diverso dai pulsanti AFX_HTCLOSE
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
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 di autohide 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 al 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 altre 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 metodo CDockablePane::AttachToTabWnd
per creare a livello di codice un riquadro a schede da due riquadri ancorabili.
La classe di runtime predefinita viene impostata in base al parametro dwTabbedStyle
di CDockablePane::Create
e CDockablePane::CreateEx
. Per personalizzare i nuovi riquadri a schede, derivare la classe da una delle classi seguenti:
classe
classe
classe
CMFCOutlookBar
.
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
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 visualizzato; in caso contrario, FALSE
.
Osservazioni
Chiamare questo metodo anziché il CWnd::ShowWindow
quando 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
nascondere il riquadro.
bUseTimer
[in] TRUE
visualizzare o nascondere il riquadro con l'effetto autohide; FALSE
visualizzare o nascondere immediatamente il riquadro.
Osservazioni
Il framework chiama questo metodo per animare un riquadro in modalità autohide.
Questo metodo usa il valore CDockablePane::m_nSlideDefaultTimeOut
per determinare il timeout dell'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 o 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
ritardare il calcolo del layout di ancoraggio; FALSE
di 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 dal 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.
Vedere anche
grafico gerarchia
classe