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::DockPane
o 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à restituitoppTabbedControlBar
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'oggettoCDockablePane
nelpTabControlBarAttachTo
parametro . È possibile chiamareCDockablePane::SetTabbedPaneRTC
per impostare il tipo di riquadro a schede cheCDockablePane
verrà creato da . Il tipo predefinito è determinato dadwTabbedStyle
quandoCDockablePane::Create
si crea per la prima volta .CDockablePane
SedwTabbedStyle
èAFX_CBRS_OUTLOOK_TABS
il tipo predefinito èCMFCOutlookBar
Class; sedwTabbedStyle
è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 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
CDockablePane::m_bDisableAnimation
variabile membro suTRUE
.
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à
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:
Il framework controlla se il riquadro
pTabControlBarAttachTo
di destinazione è 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 dalm_pTabbedControlBarRTC
membro. Per impostazione predefinita, questo membro è impostato sulla classe di runtime diCTabbedPane
. Se si passa loAFX_CBRS_OUTLOOK_TABS
stile comedwTabbedStyle
parametro alCDockablePane::Create
metodo , 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 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.
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 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 TRUE
sempre . 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 CTabbedPane
oggetto , 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_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 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_MOVE
solo .
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
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
è sul pulsante di chiusura.HTMAXBUTTON
sepoint
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_bHideInAutoHideMode
statico . 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.