Classe CPane

La CPane classe è un miglioramento della classe CControlBar. Se si aggiorna un progetto MFC esistente, sostituire tutte le occorrenze di CControlBar con CPane.

Sintassi

class CPane : public CBasePane

Membri

Costruttori pubblici

Nome Descrizione
CPane::~CPane Distruttore.

Metodi pubblici

Nome Descrizione
CPane::AdjustSizeImmediate Ricalcola immediatamente il layout di un riquadro.
CPane::AllocElements Alloca l'archiviazione per l'uso interno.
CPane::AllowShowOnPaneMenu Specifica se il riquadro è elencato nell'elenco dei riquadri generati dal runtime per l'applicazione.
CPane::CalcAvailableSize Calcola la differenza di dimensione tra un rettangolo specificato e il rettangolo della finestra corrente.
CPane::CalcInsideRect Calcola il rettangolo interno di un riquadro, tenendo conto dei bordi e dei gripper.
CPane::CalcRecentDockedRect Calcola il rettangolo ancorato di recente.
CPane::CalcSize Calcola le dimensioni del riquadro.
CPane::CanBeDocked Determina se il riquadro può essere ancorato nel riquadro di base specificato.
CPane::CanBeTabbedDocument Determina se il riquadro può essere convertito in un documento a schede.
CPane::ConvertToTabbedDocument Converte un riquadro ancorabile in un documento a schede.
CPane::CopyState Copia lo stato di un riquadro. (sostituzioni )CBasePane::CopyState.
CPane::Create Crea una barra di controllo e la collega all'oggetto CPane .
CPane::CreateDefaultMiniframe Crea una finestra mini-frame per un riquadro mobile.
CPane::CreateEx Crea una barra di controllo e la collega all'oggetto CPane .
CPane::CreateObject Usato dal framework per creare un'istanza dinamica di questo tipo di classe.
CPane::D ockByMouse Ancora un riquadro usando il metodo di ancoraggio del mouse.
CPane::D ockPane Ancora il riquadro mobile a un riquadro di base.
CPane::D ockPaneStandard Ancora un riquadro usando l'ancoraggio struttura (standard).
CPane::D ockToFrameWindow Ancora un riquadro ancorabile a un frame. Esegue l'override di CBasePane::DockToFrameWindow.
CPane::D oesAllowSiblingBars Indica se è possibile ancorare un altro riquadro nella stessa riga in cui è ancorato il riquadro corrente.
CPane::FloatPane Floats the pane.
CPane::GetAvailableExpandSize Restituisce la quantità, in pixel, che il riquadro può espandere.
CPane::GetAvailableStretchSize Restituisce la quantità, in pixel, che il riquadro può compattare.
CPane::GetBorders Restituisce la larghezza dei bordi del riquadro.
CPane::GetClientHotSpot Restituisce l'area di accesso frequente per il riquadro.
CPane::GetDockSiteRow Restituisce la riga di ancoraggio in cui è ancorato il riquadro.
CPane::GetExclusiveRowMode Determina se il riquadro è in modalità di riga esclusiva.
CPane::GetHotSpot Restituisce il punto critico archiviato in un oggetto sottostante CMFCDragFrameImpl .
CPane::GetMinSize Recupera le dimensioni minime consentite per il riquadro.
CPane::GetPaneName Recupera il titolo per il riquadro.
CPane::GetResizeStep Usato internamente.
CPane::GetThisClass Usato dal framework per ottenere un puntatore all'oggetto CRuntimeClass associato a questo tipo di classe.
CPane::GetVirtualRect Recupera il rettangolo virtuale del riquadro.
CPane::IsChangeState Quando il riquadro viene spostato, questo metodo analizza la posizione del riquadro rispetto ad altri riquadri, ancora le righe e le finestre con mini frame e restituisce il valore AFX_CS_STATUS appropriato.
CPane::IsDragMode Specifica se il riquadro viene trascinato.
CPane::IsInFloatingMultiPaneFrameWnd Specifica se il riquadro si trova in una finestra cornice a più riquadri. Esegue l'override di CBasePane::IsInFloatingMultiPaneFrameWnd.
CPane::IsLeftOf Determina se il riquadro è a sinistra (o superiore) del rettangolo specificato.
CPane::IsResizable Determina se il riquadro può essere ridimensionato. (sostituzioni )CBasePane::IsResizable.
CPane::IsTabbed Determina se il riquadro è stato inserito nel controllo struttura a schede di una finestra a schede. (sostituzioni )CBasePane::IsTabbed.
CPane::LoadState Carica lo stato del riquadro dal Registro di sistema. (sostituzioni )CBasePane::LoadState.
CPane::MoveByAlignment Sposta il riquadro e il rettangolo virtuale in base alla quantità specificata.
CPane::MovePane Sposta il riquadro nel rettangolo specificato.
CPane::OnAfterChangeParent Chiamato dal framework quando l'elemento padre di un riquadro è stato modificato.
CPane::OnBeforeChangeParent Chiamato dal framework quando l'elemento padre del riquadro sta per cambiare.
CPane::OnPressCloseButton Chiamato dal framework quando l'utente sceglie il pulsante Chiudi nella didascalia del riquadro.
CPane::OnProcessDblClk Usato internamente.
CPane::OnShowControlBarMenu Chiamata eseguita dal framework quando un menu di riquadri speciale sta per essere visualizzato.
CPane::OnShowControlBarMenu Chiamata eseguita dal framework quando un menu di riquadri speciale sta per essere visualizzato.
CPane::PrepareToDock Usato internamente.
CPane::RecalcLayout Ricalcola le informazioni sul layout per il riquadro. (sostituzioni )CBasePane::RecalcLayout.
CPane::SaveState Salva lo stato del riquadro nel Registro di sistema. (sostituzioni )CBasePane::SaveState.
CPane::SetActiveInGroup Contrassegna un riquadro come attivo.
CPane::SetBorders Imposta i valori del bordo del riquadro.
CPane::SetClientHotSpot Imposta l'area di accesso frequente per il riquadro.
CPane::SetDockState Ripristina le informazioni sullo stato di ancoraggio per il riquadro.
CPane::SetExclusiveRowMode Abilita o disabilita la modalità di riga esclusiva.
CPane::SetMiniFrameRTC Imposta le informazioni sulla classe di runtime per la finestra mini-frame predefinita.
CPane::SetMinSize Imposta le dimensioni minime consentite per il riquadro.
CPane::SetVirtualRect Imposta il rettangolo virtuale del riquadro.
CPane::StretchPaneDeferWndPos Estende il riquadro verticalmente o orizzontalmente in base allo stile di ancoraggio.
CPane::ToggleAutoHide Attiva/disattiva la modalità nascondi automaticamente.
CPane::UndockPane Rimuove il riquadro dal sito dock, dal dispositivo di scorrimento predefinito o dalla finestra mini-frame in cui è attualmente ancorato. (sostituzioni )CBasePane::UndockPane.)
CPane::UpdateVirtualRect Aggiorna il rettangolo virtuale.

Metodi protetti

Nome Descrizione
CPane::OnAfterDock Chiamato dal framework quando è stato ancorato un riquadro.
CPane::OnAfterFloat Chiamato dal framework quando un riquadro è stato spostato.
CPane::OnBeforeDock Chiamato dal framework quando il riquadro sta per essere ancorato.
CPane::OnBeforeFloat Chiamato dal framework quando un riquadro sta per essere spostato.

Membri dei dati

Nome Descrizione
CPane::m_bHandleMinSize Consente una gestione coerente delle dimensioni minime per i riquadri.
CPane::m_recentDockInfo Contiene informazioni recenti sull'ancoraggio.

Osservazioni:

In genere, CPane gli oggetti non vengono creati direttamente. Se è necessario un riquadro con funzionalità di ancoraggio, derivare l'oggetto da CDockablePane. Se è necessaria la funzionalità della barra degli strumenti, derivare l'oggetto da CMFCToolBar.

Quando si deriva una classe da CPane, può essere ancorata in un CDockSite e può essere floated in un CPaneFrameWnd.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CBasePane

CPane

Requisiti

Intestazione: afxPane.h

CPane::AdjustSizeImmediate

Ricalcola immediatamente il layout di un riquadro.

virtual void AdjustSizeImmediate(BOOL bRecalcLayout = TRUE);

Parametri

bRecalcLayout
[in] TRUE per ricalcolare automaticamente il layout del riquadro; in caso contrario, FALSE.

Osservazioni:

Chiamare questo metodo quando si modifica dinamicamente il layout di un riquadro. Ad esempio, è possibile chiamare questo metodo quando si nascondono o visualizzano i pulsanti della barra degli strumenti.

CPane::AllocElements

Alloca l'archiviazione per l'uso interno.

BOOL AllocElements(
    int nElements,
    int cbElement);

Parametri

nElements
[in] Numero di elementi per i quali allocare spazio di archiviazione.

cbElement
[in] Dimensione, in byte, di un elemento.

Valore restituito

FALSE se l'allocazione di memoria non riesce; in caso contrario, TRUE.

CPane::AllowShowOnPaneMenu

Specifica se il riquadro è elencato nell'elenco dei riquadri generati dal runtime per l'applicazione.

virtual BOOL AllowShowOnPaneMenu() const;

Valore restituito

TRUE se il riquadro viene visualizzato nell'elenco; in caso contrario, FALSE. L'implementazione di base restituisce sempre TRUE.

Osservazioni:

L'applicazione generata da AppWizard contiene un'opzione di menu che elenca i riquadri contenuti. Questo metodo determina se il riquadro viene visualizzato nell'elenco.

CPane::CalcAvailableSize

Calcola la differenza di dimensione tra un rettangolo specificato e il rettangolo della finestra corrente.

virtual CSize CalcAvailableSize(CRect rectRequired);

Parametri

rectRequired
[in] Rettangolo obbligatorio.

Valore restituito

Differenza di larghezza e altezza tra rectRequired e il rettangolo della finestra corrente.

CPane::CalcInsideRect

Calcola il rettangolo interno di un riquadro, inclusi i bordi e i gripper.

void CalcInsideRect(
    CRect& rect,
    BOOL bHorz) const;

Parametri

rect
[out] Contiene le dimensioni e l'offset dell'area client del riquadro.

bHorz
[in] TRUE se il riquadro è orientato orizzontalmente; in caso contrario, FALSE.

Osservazioni:

Questo metodo viene chiamato dal framework quando deve ricalcolare il layout per un riquadro. Il parametro rect viene riempito con le dimensioni e l'offset dell'area client del riquadro. Sono inclusi i bordi e i gripper.

CPane::CalcRecentDockedRect

Calcola il rettangolo ancorato di recente.

void CalcRecentDockedRect();

Osservazioni:

Questo metodo aggiorna CPane::m_recentDockInfo.

CPane::CalcSize

Calcola le dimensioni del riquadro.

virtual CSize CalcSize(BOOL bVertDock);

Parametri

bVertDock
[in] TRUE se il riquadro viene ancorato verticalmente, FALSE in caso contrario.

Valore restituito

L'implementazione predefinita di questo metodo restituisce una dimensione pari a (0, 0).

Osservazioni:

Le classi derivate devono eseguire l'override di questo metodo.

CPane::CanBeDocked

Determina se il riquadro può essere ancorato nel riquadro di base specificato.

virtual BOOL CanBeDocked(CBasePane* pDockBar) const;

Parametri

pDockBar
[in] Specifica il riquadro in cui deve essere ancorato questo riquadro.

Valore restituito

TRUE se questo riquadro può essere ancorato al riquadro di ancoraggio specificato; in caso contrario, FALSE.

Osservazioni:

Questo metodo viene in genere chiamato dal framework per determinare se un riquadro può essere ancorato nel riquadro di ancoraggio specificato. Per determinare se il riquadro può essere ancorato, il metodo valuta l'allineamento dell'ancoraggio attualmente abilitato per il riquadro.

È possibile abilitare l'ancoraggio ai vari lati della finestra cornice chiamando CBasePane::EnableDocking.

CPane::CanBeTabbedDocument

Determina se il riquadro può essere convertito in un documento a schede.

virtual BOOL CanBeTabbedDocument() const;

Valore restituito

TRUE se il riquadro può essere convertito in un documento a schede; in caso contrario, FALSE.

Osservazioni:

Eseguire l'override di questo metodo in una classe derivata e restituire FALSE se si desidera impedire la conversione di un riquadro in un documento a schede. Un documento a schede non verrà elencato nel menu Posizione finestra.

CPane::ConvertToTabbedDocument

Converte un riquadro ancorabile in un documento a schede.

virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);

Parametri

bActiveTabOnly
[in] Non usato in CPane::ConvertToTabbedDocument.

Osservazioni:

Solo i riquadri ancorabili possono essere convertiti in documenti a schede. Per informazioni, vedere CDockablePane::ConvertToTabbedDocument.

CPane::CopyState

Copia lo stato di un riquadro.

virtual void CopyState(CPane* pOrgBar);

Parametri

pOrgBar
[in] Puntatore a un riquadro.

Osservazioni:

Questo metodo copia lo stato di pOrgBar nel riquadro corrente.

CPane::Create

Crea una barra di controllo e la collega all'oggetto CPane .

virtual BOOL Create(
    LPCTSTR lpszClassName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    DWORD dwControlBarStyle = AFX_DEFAULT_PANE_STYLE,
    CCreateContext* pContext = NULL);

Parametri

lpszClassName
[in] Specifica il nome della classe Windows.

dwStyle
[in] Specifica gli attributi dello stile della finestra. Per altre informazioni, vedere Stili finestra.

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

pParentWnd
[in, out] Specifica la finestra padre di questo riquadro.

nID
[in] Specifica l'ID del riquadro.

dwControlBarStyle
[in] Specifica lo stile per il riquadro. Per altre informazioni, vedere CBasePane::CreateEx.

pContext
[in, out] Specifica il contesto di creazione del riquadro.

Valore restituito

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

Osservazioni:

Questo metodo crea un riquadro di Windows e lo collega all'oggetto CPane .

Se non è stato inizializzato in modo esplicito CPane::m_recentDockInfo prima di chiamare Create, il rect del parametro verrà usato come rettangolo quando si sposta o si ancora il riquadro.

CPane::CreateDefaultMiniframe

Crea una finestra mini-frame per un riquadro mobile.

virtual CPaneFrameWnd* CreateDefaultMiniframe(CRect rectInitial);

Parametri

rectInitial
[in] Specifica le dimensioni iniziali e la posizione, nelle coordinate dello schermo, della finestra mini-frame da creare.

Valore restituito

Finestra mini-frame appena creata.

Osservazioni:

Questo metodo viene chiamato dal framework per creare una finestra con mini frame quando un riquadro viene spostato. La finestra mini-frame può essere di tipo CPaneFrameWnd o di tipo CMultiPaneFrameWnd. Viene creata una finestra multi-frame se il riquadro ha lo stile AFX_CBRS_FLOAT_MULTI.

Le informazioni sulla classe di runtime per la finestra mini-frame vengono archiviate nel CPane::m_pMiniFrameRTC membro. È possibile utilizzare una classe derivata per impostare questo membro se si decide di creare finestre con mini frame personalizzate.

CPane::CreateEx

Crea una barra di controllo e la collega all'oggetto CPane .

virtual BOOL CreateEx(
    DWORD dwStyleEx,
    LPCTSTR lpszClassName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    DWORD dwControlBarStyle = AFX_DEFAULT_PANE_STYLE,
    CCreateContext* pContext = NULL);

Parametri

dwStyleEx
[in] Specifica gli attributi dello stile della finestra estesa. Per altre informazioni, vedere Stili finestra estesa.

lpszClassName
[in] Specifica il nome della classe Windows.

dwStyle
[in] Specifica gli attributi dello stile della finestra. Per altre informazioni, vedere Stili finestra.

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

pParentWnd
[in, out] Specifica la finestra padre di questo riquadro.

nID
[in] Specifica l'ID del riquadro.

dwControlBarStyle
[in] Specifica lo stile per il riquadro. Per altre informazioni, vedere CBasePane::CreateEx.

pContext
[in, out] Specifica il contesto di creazione per il riquadro.

Valore restituito

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

Osservazioni:

Questo metodo crea un riquadro di Windows e lo collega all'oggetto CPane .

Se non è stato inizializzato in modo esplicito CPane::m_recentDockInfo prima di chiamare CreateEx, il rect del parametro verrà usato come rettangolo quando si sposta o si ancora il riquadro.

CPane::D ockByMouse

Ancora un riquadro usando il mouse.

virtual BOOL DockByMouse(CBasePane* pDockBar);

Parametri

pDockBar
[in] Specifica il riquadro di base a cui ancorare questo riquadro.

Valore restituito

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

CPane::D ockPane

Ancora il riquadro mobile a un riquadro di base.

virtual BOOL DockPane(
    CBasePane* pDockBar,
    LPCRECT lpRect,
    AFX_DOCK_METHOD dockMethod);

Parametri

pDockBar
[in, out] Specifica il riquadro di base a cui ancorare questo riquadro.

lpRect
[in] Specifica il rettangolo nel riquadro di base in cui deve essere ancorato questo riquadro.

dockMethod
[in] Specifica il metodo di ancoraggio da utilizzare. Le opzioni disponibili sono le seguenti:

Opzione Descrizione
DM_UNKNOWN Il framework usa questa opzione quando il metodo di ancoraggio è sconosciuto. Il riquadro non archivia la posizione mobile più recente. È anche possibile usare questa opzione per ancorare a livello di codice un riquadro quando non è necessario archiviare la posizione mobile recente.
DM_MOUSE Usato internamente.
DM_DBL_CLICK Questa opzione viene utilizzata quando si fa doppio clic sulla gripper. Il riquadro viene riposizionato nella posizione di ancoraggio più recente. Se il riquadro viene scollegato facendo doppio clic, il riquadro viene riposizionato nella posizione mobile più recente.
DM_SHOW Questa opzione può essere usata per ancorare a livello di codice il riquadro. Il riquadro archivia la posizione mobile più recente.
DM_RECT Il riquadro è ancorato nell'area specificata da lpRect.
DM_STANDARD Quando si usa questa opzione, il framework disegna il riquadro come cornice di struttura mentre viene spostato.

Valore restituito

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

Osservazioni:

Questo metodo ancora il riquadro al riquadro di base specificato dal parametro pDockBar . È prima necessario abilitare l'ancoraggio chiamando CBasePane::EnableDocking.

CPane::D ockPaneStandard

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

virtual CPane* DockPaneStandard(BOOL& bWasDocked);

Parametri

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

Valore restituito

Questo metodo restituisce sempre il this puntatore.

Osservazioni:

Questo metodo viene usato solo per i riquadri derivati dalla classe CDockablePane. Per altre informazioni, vedere CDockablePane::D ockPaneStandard.

CPane::D ockToFrameWindow

Ancora un riquadro ancorabile a un frame.

virtual BOOL DockToFrameWindow(
    DWORD dwAlignment,
    LPCRECT lpRect = NULL,
    DWORD dwDockFlags = DT_DOCK_LAST,
    CBasePane* pRelativeBar = NULL,
    int nRelativeIndex = -1,
    BOOL bOuterEdge = FALSE);

Parametri

dwAlignment
[in] Lato del frame padre a cui si vuole ancorare il riquadro.

lpRect
[in] Dimensione specificata.

dwDockFlags
[in] Ignorato.

pRelativeBar
[in] Ignorato.

nRelativeIndex
[in] Ignorato.

bOuterEdge
[in] Se TRUE e sono presenti altri riquadri ancorabili sul lato specificati da dwAlignment, il riquadro viene ancorato all'esterno degli altri riquadri, più vicino al bordo del frame padre. Se FALSE, il riquadro viene ancorato più vicino al centro dell'area client.

Valore restituito

FALSE se non è possibile creare un divisore di riquadri ( classe CPaneDivider). In caso contrario, TRUE.

Osservazioni:

CPane::D oesAllowSiblingBars

Indica se è possibile ancorare un altro riquadro nella stessa riga in cui è ancorato il riquadro corrente.

virtual BOOL DoesAllowSiblingBars() const;

Valore restituito

TRUE se questo riquadro può ancorare a un altro riquadro sulla stessa riga di se stesso; in caso contrario, FALSE.

Osservazioni:

È possibile abilitare o disabilitare questo comportamento chiamando CPane::SetExclusiveRowMode.

Per impostazione predefinita, le barre degli strumenti hanno la modalità riga esclusiva disabilitata e la barra dei menu ha la modalità di riga esclusiva abilitata.

CPane::FloatPane

Floats the pane.

virtual BOOL FloatPane(
    CRect rectFloat,
    AFX_DOCK_METHOD dockMethod = DM_UNKNOWN,
    bool bShow = true);

Parametri

rectFloat
[in] Specifica la posizione, nelle coordinate dello schermo, per posizionare il riquadro quando è mobile.

dockMethod
[in] Specifica il metodo di ancoraggio da utilizzare quando il riquadro è mobile. Per un elenco dei valori possibili, vedere CPane::D ockPane.

bShow
[in] TRUE per mostrare il riquadro quando float; in caso contrario, FALSE.

Valore restituito

TRUE se il riquadro è stato floated correttamente o se il riquadro non può essere floated perché CBasePane::CanFloat restituisce FALSE; in caso contrario, FALSE.

Osservazioni:

Chiamare questo metodo per spostare il riquadro nella posizione specificata dal parametro rectFloat . Questo metodo crea automaticamente una finestra padre mini-frame per il riquadro.

CPane::GetAvailableExpandSize

Restituisce la quantità, in pixel, che il riquadro può espandere.

virtual int GetAvailableExpandSize() const;

Valore restituito

Se il riquadro è ancorato orizzontalmente, il valore restituito è la larghezza disponibile; in caso contrario, il valore restituito è l'altezza disponibile.

Osservazioni:

CPane::GetAvailableStretchSize

Restituisce la quantità, in pixel, che il riquadro può compattare.

virtual int GetAvailableStretchSize() const;

Valore restituito

Quantità, in pixel, che il riquadro può compattare. Se il riquadro è ancorato orizzontalmente, questa quantità è la larghezza disponibile; in caso contrario, è l'altezza disponibile.

Osservazioni:

Le dimensioni di estensione disponibili vengono calcolate sottraendo le dimensioni minime consentite per il riquadro ( CPane::GetMinSize) dalle dimensioni correnti ( CWnd::GetWindowRect).

CPane::GetBorders

Restituisce la larghezza dei bordi del riquadro.

CRect GetBorders() const;

Valore restituito

Oggetto CRect che contiene la larghezza corrente, espressa in pixel, di ogni lato del riquadro. Ad esempio, il valore del left membro dell'oggetto CRect è la larghezza del bordo sinistro.

Osservazioni:

Per impostare le dimensioni dei bordi, chiamare CPane::SetBorders.

CPane::GetClientHotSpot

Restituisce l'area di accesso frequente per il riquadro.

CPoint GetClientHotSpot() const;

Valore restituito

Osservazioni:

Il punto critico è il punto nel riquadro selezionato dall'utente e mantiene il riquadro per spostare il riquadro. Un punto critico viene usato per un'animazione uniforme quando il riquadro viene spostato da una posizione ancorata.

CPane::GetDockSiteRow

Restituisce la riga di ancoraggio ( classe CDockingPanesRow) in cui è ancorato il riquadro.

CDockingPanesRow* GetDockSiteRow() const;

Valore restituito

Oggetto CDockingPanesRow* che punta alla riga di ancoraggio in cui è ancorato il riquadro o NULL se il riquadro non è ancorato.

CPane::GetExclusiveRowMode

Determina se il riquadro è in modalità di riga esclusiva.

virtual BOOL GetExclusiveRowMode() const;

Valore restituito

TRUE se il riquadro è in modalità di riga esclusiva; in caso contrario, FALSE.

Osservazioni:

Per altre informazioni sulla modalità di riga esclusiva, vedere CPane::SetExclusiveRowMode.

CPane::GetHotSpot

Restituisce il punto critico archiviato in un oggetto sottostante CMFCDragFrameImpl .

CPoint GetHotSpot() const;

Valore restituito

Osservazioni:

La CPane classe contiene un CMFCDragFrameImpl oggetto , m_dragFrameImpl, responsabile del disegno del rettangolo visualizzato quando l'utente sposta un riquadro nella modalità di ancoraggio standard. Il punto critico viene usato per disegnare il rettangolo rispetto alla posizione corrente del mouse quando l'utente sposta il riquadro.

CPane::GetMinSize

Recupera le dimensioni minime consentite per il riquadro.

virtual void GetMinSize(CSize& size) const;

Parametri

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

Osservazioni:

CPane::GetPaneName

Recupera il titolo per il riquadro.

virtual void GetPaneName(CString& strName) const;

Parametri

strName
[out] Oggetto CString compilato con il nome della didascalia.

Osservazioni:

Il titolo del riquadro viene visualizzato nell'area della didascalia quando il riquadro è ancorato o mobile. Se il riquadro fa parte di un gruppo a schede, il titolo viene visualizzato nell'area della scheda. Se il riquadro è in modalità nascondi automaticamente, il titolo viene visualizzato in un oggetto CMFCAutoHideButton.

CPane::GetVirtualRect

Recupera il rettangolo virtuale del riquadro.

void GetVirtualRect(CRect& rectVirtual) const;

Parametri

rectVirtual
[out] Oggetto CRect riempito con il rettangolo virtuale.

Osservazioni:

Quando un riquadro viene spostato, il framework archivia la posizione originale del riquadro in un rettangolo virtuale. Il framework può usare il rettangolo virtuale per ripristinare la posizione originale del riquadro.

Non chiamare metodi correlati a rettangoli virtuali a meno che non si sposti a livello di codice i riquadri.

CPane::IsChangeState

Quando il riquadro viene spostato, questo metodo analizza la posizione rispetto ad altri riquadri, ancora righe e finestre con mini frame e restituisce il valore AFX_CS_STATUS appropriato.

virtual AFX_CS_STATUS IsChangeState(
    int nOffset,
    CBasePane** ppTargetBar) const;

Parametri

nOffset
[in] Specifica la sensibilità di ancoraggio. Ad esempio, verrà ancorato un riquadro spostato all'interno di nOffset pixel da una riga di ancoraggio.

ppTargetBar
[in] Quando il metodo termina, ppTargetBar contiene un puntatore all'oggetto a cui deve essere ancorato il riquadro corrente oppure NULL se non deve verificarsi alcun ancoraggio.

Valore restituito

Uno dei valori di AFX_CS_STATUS seguenti:

valore Descrizione
CS_NOTHING Il riquadro non si trova vicino a un sito dock. Il framework non ancora il riquadro.
CS_DOCK_IMMEDIATELY Il riquadro si trova su un sito dock e lo stile di DT_IMMEDIATE è abilitato. Il framework ancora immediatamente il riquadro.
CS_DELAY_DOCK Il riquadro si trova su un sito dock che è un altro riquadro di ancoraggio o un bordo della cornice principale. Il framework ancora il riquadro quando l'utente rilascia lo spostamento.
CS_DELAY_DOCK_TO_TAB Il riquadro si trova su un sito di ancoraggio che causa l'ancoraggio del riquadro in una finestra a schede. Ciò si verifica quando il riquadro si trova sulla didascalia di un altro riquadro di ancoraggio o sull'area di tabulazioni di un riquadro a schede. Il framework ancora il riquadro quando l'utente rilascia lo spostamento.

CPane::IsDragMode

Specifica se il riquadro viene spostato.

virtual BOOL IsDragMode() const;

Valore restituito

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

Osservazioni:

CPane::IsInFloatingMultiPaneFrameWnd

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

virtual BOOL IsInFloatingMultiPaneFrameWnd() const;

Valore restituito

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

Osservazioni:

Solo i riquadri ancorabili possono essere mobili in una finestra cornice a più riquadri. Pertanto, restituisce CPane::IsInFloatingMultiPaneFrameWnd sempre FALSE.

CPane::IsLeftOf

Determina se il riquadro è a sinistra (o superiore) del rettangolo specificato.

bool IsLeftOf(
    CRect rect,
    bool bWindowRect = true) const;

Parametri

rect
[in] Oggetto CRect utilizzato per il confronto.

bWindowRect
[in] Se TRUE, si presuppone che rect contenga coordinate dello schermo; se FALSE, si presuppone che rect contenga coordinate client.

Valore restituito

Osservazioni:

Se il riquadro è ancorato orizzontalmente, questo metodo controlla se la posizione è rimasta di rect. In caso contrario, questo metodo controlla se la posizione è sopra la rettifica.

CPane::IsResizable

Specifica se il riquadro è ridimensionabile.

virtual BOOL IsResizable() const;

Valore restituito

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

Osservazioni:

Gli oggetti di base CPane non sono ridimensionabili.

Il gestore di ancoraggio usa il flag ridimensionabile per determinare il layout del riquadro. I riquadri non ridimensionabili si trovano sempre ai bordi esterni della cornice padre.

I riquadri non ridimensionabili non possono risiedere nei contenitori di ancoraggio.

CPane::IsTabbed

Determina se il riquadro è stato inserito nel controllo struttura a schede di una finestra a schede.

virtual BOOL IsTabbed() const;

Valore restituito

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

Osservazioni:

Lo stato a schede viene trattato separatamente dagli stati mobile, ancorati e nascondi automaticamente.

CPane::LoadState

Carica lo stato del riquadro dal Registro di sistema.

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

Parametri

lpszProfileName
[in] Nome profilo.

nIndex
[in] Indice del profilo.

uiID
[in] ID riquadro.

Valore restituito

TRUE se lo stato del riquadro è stato caricato correttamente; in caso contrario, FALSE.

Osservazioni:

Il framework chiama questo metodo per caricare lo stato del riquadro dal Registro di sistema. Eseguirne l'override in una classe derivata per caricare informazioni aggiuntive salvate da CPane::SaveState.

Quando si esegue l'override di questo metodo, chiamare anche il metodo di base e restituire FALSE se il metodo di base restituisce FALSE.

CPane::m_bHandleMinSize

Consente una gestione coerente delle dimensioni minime dei riquadri.

AFX_IMPORT_DATA static BOOL m_bHandleMinSize;

Osservazioni:

Se uno o più riquadri di ancoraggio nell'applicazione eseguono l'override GetMinSizedi o se l'applicazione chiama SetMinSize, è possibile impostare questo membro statico su TRUE per consentire al framework di gestire in modo coerente le dimensioni dei riquadri.

Se questo valore è impostato su TRUE, tutti i riquadri le cui dimensioni devono essere ridotte al di sotto delle dimensioni minime vengono ritagliate, non estese. Poiché il framework usa le aree della finestra a scopo di ridimensionamento dei riquadri, non modificare le dimensioni dell'area della finestra per i riquadri di ancoraggio se questo valore è impostato su TRUE.

CPane::m_recentDockInfo

Contiene informazioni recenti sull'ancoraggio.

CRecentDockSiteInfo m_recentDockInfo;

Osservazioni:

Il framework archivia le informazioni sullo stato di ancoraggio più recenti per il riquadro in questo membro.

CPane::MoveByAlignment

Sposta il riquadro e il rettangolo virtuale in base alla quantità specificata.

BOOL MoveByAlignment(
    DWORD dwAlignment,
    int nOffset);

Parametri

dwAlignment
[in] Specifica l'allineamento del riquadro.

nOffset
[in] Quantità, in pixel, in base alla quale spostare il riquadro e il rettangolo virtuale.

Valore restituito

Osservazioni:

dwAlignment può essere uno dei valori seguenti:

valore Descrizione
CBRS_ALIGN_TOP Consente di ancorare il riquadro all'inizio dell'area client di una finestra cornice.
CBRS_ALIGN_BOTTOM Consente di ancorare il riquadro alla parte inferiore dell'area client di una finestra cornice.
CBRS_ALIGN_LEFT Consente di ancorare il riquadro a sinistra dell'area client di una finestra cornice.
CBRS_ALIGN_RIGHT Consente di ancorare il riquadro a destra dell'area client di una finestra cornice.
CBRS_ALIGN_ANY Consente di ancorare il riquadro a qualsiasi lato dell'area client di una finestra cornice.

Se dwAlignment contiene il flag CBRS_ALIGN_LEFT o CBRS_ALIGN_RIGHT, il riquadro e il rettangolo virtuale vengono spostati orizzontalmente; in caso contrario, se dwAlignment contiene il flag CBRS_ALIGN_TOP o CBRS_ALIGN_BOTTOM, il riquadro e il rettangolo virtuale vengono spostati verticalmente.

CPane::MovePane

Sposta il riquadro nel rettangolo specificato.

virtual CSize MovePane(
    CRect rectNew,
    BOOL bForceMove,
    HDWP& hdwp);

Parametri

rectNew
[in] Specifica il nuovo rettangolo per il riquadro.

bForceMove
[in] Se TRUE, questo metodo ignora le dimensioni minime consentite del riquadro ( CPane::GetMinSize); in caso contrario, il riquadro viene regolato, se necessario, per assicurarsi che sia almeno la dimensione minima consentita.

hdwp
[in] Non utilizzato.

Valore restituito

Oggetto CSize che contiene le differenze di larghezza e altezza tra i rettangoli nuovi e vecchi (rettangolo precedente - rectNew).

Osservazioni:

Questo metodo viene usato solo per i riquadri ancorabili.

CPane::OnAfterChangeParent

Chiamato dal framework quando l'elemento padre di un riquadro è stato modificato.

virtual void OnAfterChangeParent(CWnd* pWndOldParent);

Parametri

pWndOldParent
[in, out] Finestra padre precedente del riquadro.

Osservazioni:

Questo metodo viene chiamato dal framework quando l'elemento padre di un riquadro è stato modificato a causa di un'operazione di ancoraggio o mobile.

CPane::OnAfterDock

Chiamato dal framework quando è stato ancorato un riquadro.

virtual void OnAfterDock(
    CBasePane* pBar,
    LPCRECT lpRect,
    AFX_DOCK_METHOD dockMethod);

Parametri

pBar
[in] Questo parametro non viene usato.

lpRect
[in] Questo parametro non viene usato.

dockMethod
[in] Questo parametro non viene usato.

CPane::OnAfterFloat

Chiamato dal framework dopo un riquadro float.

virtual void OnAfterFloat();

Osservazioni:

È possibile eseguire l'override di questo metodo in una classe derivata se si desidera eseguire qualsiasi elaborazione dopo un riquadro float.

CPane::OnBeforeChangeParent

Chiamato dal framework quando l'elemento padre del riquadro sta per cambiare.

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

Parametri

pWndNewParent
[in, out] Specifica la nuova finestra padre.

bDelay
[in] TRUE per ritardare la regolazione del layout di ancoraggio globale; in caso contrario, FALSE.

Osservazioni:

Questo metodo viene chiamato dal framework quando l'elemento padre del riquadro sta per cambiare perché il riquadro è ancorato o mobile.

Per impostazione predefinita, il riquadro viene annullata la registrazione con il riquadro di ancoraggio chiamando CDockSite::RemovePane.

CPane::OnBeforeDock

Chiamato dal framework quando il riquadro sta per ancorare.

virtual BOOL OnBeforeDock(
    CBasePane** ppDockBar,
    LPCRECT lpRect,
    AFX_DOCK_METHOD dockMethod);

Parametri

ppDockBar
[in, out] Specifica il riquadro su cui si sta ancorando questo riquadro.

lpRect
[in] Specifica il rettangolo di ancoraggio.

dockMethod
[in] Specifica il metodo di ancoraggio.

Valore restituito

TRUE se il riquadro può essere ancorato. Se la funzione restituisce FALSE, l'operazione di ancoraggio verrà interrotta.

Osservazioni:

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

CPane::OnBeforeFloat

Chiamato dal framework quando un riquadro sta per essere 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 del riquadro.

Valore restituito

TRUE se il riquadro può essere floated; 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 infine spostato in float.

CPane::OnPressCloseButton

Chiamato dal framework quando l'utente preme il pulsante di chiusura nella didascalia del riquadro.

virtual void OnPressCloseButton();

Osservazioni:

Questo metodo viene chiamato dal framework quando un utente preme il pulsante Chiudi nella didascalia del riquadro. Per ricevere notifiche sull'evento Close, è possibile eseguire l'override di questo metodo in una classe derivata.

CPane::OnShowControlBarMenu

Chiamata eseguita dal framework quando un menu di riquadri speciale sta per essere visualizzato.

virtual BOOL OnShowControlBarMenu(CPoint point);

Parametri

point
[in] Specifica il percorso del menu.

Valore restituito

TRUE se il menu può essere visualizzato; in caso contrario, FALSE.

Osservazioni:

Il menu contiene diversi elementi che consentono di specificare il comportamento del riquadro, ovvero mobile, ancoraggio, autoHide e Nascondi. È possibile abilitare questo menu per tutti i riquadri chiamando CDockingManager::EnableDockSiteMenu.

CPane::RecalcLayout

Ricalcola le informazioni sul layout per il riquadro.

virtual void RecalcLayout();

Osservazioni:

Se il riquadro è ancorato, questo metodo aggiorna il rettangolo virtuale per il riquadro impostandone le dimensioni sulla dimensione corrente del riquadro.

Se il riquadro è mobile, questo metodo invia una notifica al mini-frame padre per regolare le dimensioni del riquadro in base alle dimensioni del mini frame. Il framework garantisce che il mini-frame sia almeno la dimensione minima consentita per il riquadro ( CPane::GetMinSize) e ridimensiona il mini-frame, se necessario.

CPane::SaveState

Salva lo stato del riquadro nel Registro di sistema.

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

Parametri

lpszProfileName
[in] Nome profilo.

nIndex
[in] Indice del profilo.

uiID
[in] ID riquadro.

Valore restituito

TRUE se lo stato è stato salvato correttamente; in caso contrario, FALSE.

Osservazioni:

Il framework chiama questo metodo quando salva lo stato del riquadro nel Registro di sistema. Eseguire l'override in una classe derivata per archiviare informazioni aggiuntive SaveState .

Quando si esegue l'override di questo metodo, chiamare anche il metodo di base e restituire FALSE se il metodo di base restituisce FALSE.

CPane::SetActiveInGroup

Contrassegna un riquadro come attivo.

virtual void SetActiveInGroup(BOOL bActive);

Parametri

bActive
[in] Valore BOOL che specifica se il riquadro è contrassegnato come attivo.

Osservazioni:

Quando viene visualizzato un riquadro ancorabile o viene scelto un pulsante nascondi automaticamente, il riquadro nascondi automaticamente corrispondente viene contrassegnato come attivo.

L'aspetto di un pulsante nascondi automaticamente associato al riquadro si basa su due fattori. Se il riquadro è attivo e static BOOL CMFCAutoHideButton::m_bOverlappingTabs è TRUE, il framework visualizza il pulsante nascondi automaticamente come icona e un'etichetta. Per un riquadro inattivo, il framework visualizza solo l'icona nascondi automaticamente.

Se CMFCAutoHideButton::m_bOverlappingTabs è FALSE o se il riquadro non si trova in un gruppo, il framework visualizza il pulsante nascondi automaticamente associato come icona e un'etichetta.

CPane::SetBorders

Imposta i valori del bordo del riquadro.

void SetBorders(
    int cxLeft = 0,
    int cyTop = 0,
    int cxRight = 0,
    int cyBottom = 0);

void SetBorders(LPCRECT lpRect);

Parametri

cxLeft
[in] Specifica la larghezza, espressa in pixel, del bordo sinistro del riquadro.

cyTop
[in] Specifica la larghezza, espressa in pixel, del bordo superiore del riquadro.

cxRight
[in] Specifica la larghezza, espressa in pixel, del bordo destro del riquadro.

cyBottom
[in] Specifica la larghezza, espressa in pixel, del bordo inferiore del riquadro.

lpRect
[in] Oggetto CRect che contiene la larghezza, espressa in pixel, di ogni bordo del riquadro.

Osservazioni:

Chiamare questa funzione per impostare le dimensioni dei bordi del riquadro.

CPane::SetClientHotSpot

Imposta l'area di accesso frequente per il riquadro.

void SetClientHotSpot(const CPoint& ptNew);

Parametri

ptNew
[in] Oggetto CPoint che specifica il nuovo punto critico.

Osservazioni:

Il punto critico è il punto nel riquadro selezionato dall'utente e mantiene il riquadro per spostare il riquadro. Un punto critico viene usato per un'animazione uniforme quando il riquadro viene trascinato da una posizione ancorata.

CPane::SetDockState

Ripristina le informazioni sullo stato di ancoraggio per il riquadro.

virtual void SetDockState(CDockingManager* pDockManager);

Parametri

pDockManager
[in] Puntatore al gestore di ancoraggio per la finestra cornice principale.

Osservazioni:

Questo metodo viene chiamato dal framework per ripristinare le informazioni recenti sullo stato di ancoraggio per il riquadro. Un riquadro archivia le informazioni recenti sullo stato di ancoraggio in CPane::m_recentDockInfo. Per altre informazioni, vedere la classe CRecentDockSiteInfo.

È anche possibile chiamare questo metodo per impostare lo stato di ancoraggio quando si caricano le informazioni del riquadro da un'origine esterna.

CPane::SetExclusiveRowMode

Abilita o disabilita la modalità di riga esclusiva.

virtual void SetExclusiveRowMode(BOOL bExclusive = TRUE);

Parametri

bExclusive
[in] TRUE per abilitare la modalità di riga esclusiva; in caso contrario, FALSE.

Osservazioni:

Chiamare questo metodo per abilitare o disabilitare la modalità di riga esclusiva. Quando un riquadro è in modalità di riga esclusiva, non può condividere la stessa riga con altre barre degli strumenti.

Per impostazione predefinita, tutte le barre degli strumenti hanno la modalità riga esclusiva disabilitata e la barra dei menu ha la modalità riga esclusiva abilitata.

CPane::SetMinSize

Imposta le dimensioni minime consentite per il riquadro.

void SetMinSize(const CSize& size);

Parametri

size
[in] Oggetto CSize contenente le dimensioni minime consentite per il riquadro.

Osservazioni:

CPane::SetVirtualRect

Imposta il rettangolo virtuale del riquadro.

void SetVirtualRect(
    const CRect& rect,
    BOOL bMapToParent = TRUE);

Parametri

rect
[in] Oggetto CRect che specifica il rettangolo virtuale da impostare.

bMapToParent
[in] Specificare TRUE se rect contiene punti relativi alla finestra padre.

Osservazioni:

Un rettangolo virtuale archivia la posizione originale di un riquadro quando viene spostata. Il framework può usare il rettangolo virtuale per ripristinare la posizione originale.

Non chiamare metodi correlati a rettangoli virtuali a meno che non si sposti a livello di codice i riquadri.

CPane::SetMiniFrameRTC

Imposta le informazioni sulla classe di runtime per la finestra mini-frame predefinita.

void SetMiniFrameRTC(CRuntimeClass* pClass);

Parametri

pClass
[in, out] Specifica le informazioni sulla classe di runtime per la finestra mini-frame.

Osservazioni:

Quando un riquadro viene spostato, viene inserito in una finestra CPaneFrameWnd (mini-frame). È possibile fornire una classe derivata personalizzata CPaneFrameWndche verrà usata quando viene chiamato CPane::CreateDefaultMiniframe .

CPane::StretchPaneDeferWndPos

Estende il riquadro verticalmente o orizzontalmente in base allo stile di ancoraggio.

virtual int StretchPaneDeferWndPos(
    int nStretchSize,
    HDWP& hdwp);

Parametri

nStretchSize
[in] Quantità, in pixel, per estendere il riquadro. Usare un valore negativo per compattare il riquadro.

hdwp
[in] Non utilizzato.

Valore restituito

Quantità effettiva, in pixel, che il riquadro è stato esteso.

Osservazioni:

Se necessario, questo metodo modifica nStretchSize per assicurarsi che il riquadro non superi i limiti di dimensione. Questi limiti vengono ottenuti chiamando CPane::GetAvailableStretchSize e CPane::GetAvailableExpandSize.

CPane::ToggleAutoHide

Attiva/disattiva la modalità nascondi automaticamente.

virtual void ToggleAutoHide();

Osservazioni:

Chiamare questo metodo per attivare o disattivare la modalità nascondi automaticamente. Per passare alla modalità nascondi automaticamente, è necessario ancorare un riquadro a una finestra cornice principale.

CPane::UndockPane

Rimuove il riquadro dal sito dock, dal dispositivo di scorrimento predefinito o dalla finestra mini-frame in cui è attualmente ancorato.

virtual void UndockPane(BOOL bDelay = FALSE);

Parametri

bDelay
[in] Se FALSE, il framework chiama CBasePane::AdjustDockingLayout per regolare il layout di ancoraggio.

Osservazioni:

Utilizzare questo metodo per scollegare a livello di codice un riquadro.

CPane::UpdateVirtualRect

Aggiorna il rettangolo virtuale.

void UpdateVirtualRect();
void UpdateVirtualRect(CPoint ptOffset);
void UpdateVirtualRect(CSize sizeNew);

Parametri

ptOffset
[in] Oggetto CPoint che specifica un offset in base al quale spostare il riquadro.

sizeNew
[in] Oggetto CSize che specifica una nuova dimensione per il riquadro.

Osservazioni:

Il primo overload imposta il rettangolo virtuale usando la posizione e le dimensioni correnti del riquadro.

Il secondo overload sposta il rettangolo virtuale in base alla quantità specificata da ptOffset.

Il terzo overload imposta il rettangolo virtuale usando la posizione corrente del riquadro e le dimensioni specificate da sizeNew.

Vedi anche

Grafico della gerarchia
Classi
Classe CBasePane