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à
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 GetMinSize
di 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 CPaneFrameWnd
che 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.