Classe CBasePane
Classe di base per tutti i riquadri in MFC.
Sintassi
class CBasePane : public CWnd
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CBasePane::CBasePane |
Costruttore predefinito. |
CBasePane::~CBasePane |
Distruttore. |
Metodi pubblici
Nome | Descrizione |
---|---|
CBasePane::accHitTest |
Chiamata eseguita dal framework per recuperare l'elemento figlio o l'oggetto figlio in un determinato punto dello schermo. (sostituzioni )CWnd::accHitTest. |
CBasePane::accLocation |
Chiamato dal framework per recuperare la posizione corrente della schermata per l'oggetto specificato. (sostituzioni )CWnd::accLocation.) |
CBasePane::AccNotifyObjectFocusEvent | CBasePane non usa questo metodo. |
CBasePane::accSelect |
Chiamata eseguita dal framework per modificare la selezione o per spostare lo stato attivo della tastiera dell'oggetto specificato. (sostituzioni )CWnd::accSelect.) |
CBasePane::AddPane | Aggiunge un riquadro al gestore di ancoraggio. |
CBasePane::AdjustDockingLayout | Reindirizza una chiamata al gestore di ancoraggio per regolare il layout di ancoraggio. |
CBasePane::AdjustLayout | Chiamato dal framework quando il riquadro deve regolare il layout interno. |
CBasePane::CalcFixedLayout | Calcola le dimensioni orizzontali di una barra di controllo. |
CBasePane::CanAcceptPane | Determina se è possibile ancorare un altro riquadro al riquadro. |
CBasePane::CanAutoHide | Determina se il riquadro supporta la modalità nascondi automaticamente. |
CBasePane::CanBeAttached | Determina se il riquadro può essere ancorato a un altro riquadro. |
CBasePane::CanBeClosed | Determina se il riquadro può essere chiuso. |
CBasePane::CanBeDocked | Determina se il riquadro può essere ancorato a un altro riquadro. |
CBasePane::CanBeResized | Determina se il riquadro può essere ridimensionato. |
CBasePane::CanBeTabbedDocument | Specifica se il riquadro può essere convertito in un documento a schede MDI. |
CBasePane::CanFloat | Determina se il riquadro può essere mobile. |
CBasePane::CanFocus | Specifica se il riquadro può ricevere lo stato attivo. |
CBasePane::CopyState | Copia lo stato di un determinato riquadro. |
CBasePane::CreateDefaultMiniframe | Se il riquadro può essere mobile, crea una finestra con mini frame. |
CBasePane::CreateEx | Crea il controllo riquadro. |
CBasePane::D ockPane | Ancora un riquadro a un altro riquadro o a una finestra cornice. |
CBasePane::D ockPaneUsingRTTI | Ancora il riquadro usando le informazioni sul tipo di runtime. |
CBasePane::D ockToFrameWindow | Ancora un riquadro ancorabile a un frame. |
CBasePane::D oesAllowDynInsertBefore | Determina se un altro riquadro può essere inserito dinamicamente tra questo riquadro e il frame padre. |
CBasePane::EnableDocking | Abilita l'ancoraggio del riquadro al frame principale. |
CBasePane::EnableGripper | Abilita o disabilita il gripper. Se il gripper è abilitato, l'utente può trascinarlo per riposizionare il riquadro. |
CBasePane::FillWindowRect |
Usato internamente. |
CBasePane::FloatPane | Floats the pane. |
CBasePane::get_accChild |
Chiamata eseguita dal framework per recuperare l'indirizzo di un'interfaccia IDispatch per l'elemento figlio specificato. (sostituzioni )CWnd::get_accChild.) |
CBasePane::get_accChildCount |
Chiamato dal framework per recuperare il numero di elementi figlio che appartengono a questo oggetto. (sostituzioni )CWnd::get_accChildCount.) |
CBasePane::get_accDefaultAction |
Chiamato dal framework per recuperare una stringa che descrive l'azione predefinita per l'oggetto. (sostituzioni )CWnd::get_accDefaultAction.) |
CBasePane::get_accDescription |
Chiamata eseguita dal framework per recuperare una stringa che descrive l'aspetto visivo dell'oggetto specificato. (sostituzioni )CWnd::get_accDescription.) |
CBasePane::get_accFocus |
Chiamata eseguita dal framework per recuperare l'oggetto con lo stato attivo della tastiera. (sostituzioni )CWnd::get_accFocus.) |
CBasePane::get_accHelp |
Chiamato dal framework per recuperare una stringa di proprietà della Guida per l'oggetto . (sostituzioni )CWnd::get_accHelp.) |
CBasePane::get_accHelpTopic | Chiamato dal framework per recuperare il percorso completo del file WinHelp associato all'oggetto specificato e all'identificatore dell'argomento appropriato in tale file. (sostituzioni )CWnd::get_accHelpTopic.) |
CBasePane::get_accKeyboardShortcut |
Chiamato dal framework per recuperare il tasto di scelta rapida specificato per l'oggetto. (sostituzioni )CWnd::get_accKeyboardShortcut.) |
CBasePane::get_accName |
Chiamata eseguita dal framework per recuperare il nome dell'oggetto specificato. (sostituzioni )CWnd::get_accName. |
CBasePane::get_accParent |
Chiamato dal framework per recuperare l'interfaccia IDispatch per l'elemento padre dell'oggetto . (sostituzioni )CWnd::get_accParent.) |
CBasePane::get_accRole |
Chiamata eseguita dal framework per recuperare informazioni che descrivono il ruolo dell'oggetto specificato. (sostituzioni )CWnd::get_accRole. |
CBasePane::get_accSelection | Chiamata eseguita dal framework per recuperare gli elementi figlio selezionati dell'oggetto. (sostituzioni )CWnd::get_accSelection.) |
CBasePane::get_accState |
Chiamata eseguita dal framework per recuperare lo stato corrente dell'oggetto specificato. (sostituzioni )CWnd::get_accState.) |
CBasePane::get_accValue |
Chiamata eseguita dal framework per recuperare il valore dell'oggetto specificato. (sostituzioni )CWnd::get_accValue.) |
CBasePane::GetCaptionHeight | Restituisce l'altezza della didascalia. |
CBasePane::GetControlBarStyle | Restituisce lo stile della barra dei controlli. |
CBasePane::GetCurrentAlignment | Restituisce l'allineamento del riquadro corrente. |
CBasePane::GetDockingMode | Restituisce la modalità di ancoraggio corrente per il riquadro. |
CBasePane::GetDockSiteFrameWnd | Restituisce un puntatore alla finestra che rappresenta il sito di ancoraggio per il riquadro. |
CBasePane::GetEnabledAlignment | Restituisce gli stili CBRS_ALIGN_ applicati al riquadro. |
CBasePane::GetMFCStyle | Restituisce gli stili del riquadro specifici di MFC. |
CBasePane::GetPaneIcon | Restituisce un handle per l'icona del riquadro. |
CBasePane::GetPaneRect |
Usato internamente. |
CBasePane::GetPaneRow | Restituisce un puntatore all'oggetto CDockingPanesRowin cui è ancorato il riquadro. |
CBasePane::GetPaneStyle | Restituisce lo stile del riquadro. |
CBasePane::GetParentDockSite | Restituisce un puntatore al sito dock padre. |
CBasePane::GetParentMiniFrame | Restituisce un puntatore alla finestra padre mini-frame. |
CBasePane::GetParentTabbedPane | Restituisce un puntatore al riquadro a schede padre. |
CBasePane::GetParentTabWnd | Restituisce un puntatore alla finestra padre all'interno di una scheda. |
CBasePane::GetRecentVisibleState | Il framework chiama questo metodo quando un riquadro viene ripristinato da un archivio. |
CBasePane::HideInPrintPreviewMode | Specifica se il riquadro è nascosto nell'anteprima di stampa. |
CBasePane::InsertPane | Registra il riquadro specificato con il gestore di ancoraggio. |
CBasePane::IsAccessibilityCompatible | Specifica se il riquadro supporta l'accessibilità attiva. |
CBasePane::IsAutoHideMode | Determina se un riquadro è in modalità nascondi automaticamente. |
CBasePane::IsDialogControl | Specifica se il riquadro è un controllo finestra di dialogo. |
CBasePane::IsDocked | Determina se il riquadro è ancorato. |
CBasePane::IsFloating | Determina se il riquadro è mobile. |
CBasePane::IsHorizontal | Determina se il riquadro è ancorato orizzontalmente. |
CBasePane::IsInFloatingMultiPaneFrameWnd | Specifica se il riquadro si trova in una finestra cornice a più riquadri. |
CBasePane::IsMDITabbed | Determina se il riquadro è stato aggiunto a una finestra figlio MDI come documento a schede. |
CBasePane::IsPaneVisible | Specifica se il flag WS_VISIBLE è impostato per il riquadro. |
CBasePane::IsPointNearDockSite | Determina se un punto specificato si trova vicino al sito di ancoraggio. |
CBasePane::IsResizable | Determina se il riquadro può essere ridimensionato. |
CBasePane::IsRestoredFromRegistry | Determina se il riquadro viene ripristinato dal Registro di sistema. |
CBasePane::IsTabbed | Determina se il riquadro è stato inserito nel controllo struttura a schede di una finestra a schede. |
CBasePane::IsTooltipTopmost |
Usato internamente. |
CBasePane::IsVisible | Determina se il riquadro è visibile. |
CBasePane::LoadState | Carica lo stato del riquadro dal Registro di sistema. |
CBasePane::MoveWindow | Sposta il riquadro. |
CBasePane::OnAfterChangeParent | Chiamato dal framework quando l'elemento padre del riquadro è stato modificato. |
CBasePane::OnBeforeChangeParent | Chiamato dal framework subito prima che il riquadro cambi la relativa finestra padre. |
CBasePane::OnDrawCaption | Il framework chiama questo metodo quando viene disegnata la didascalia. |
CBasePane::OnMovePaneDivider | Questo metodo non viene attualmente utilizzato. |
CBasePane::OnPaneContextMenu | Chiamato dal framework quando compila un menu con un elenco di riquadri. |
CBasePane::OnRemoveFromMiniFrame | Chiamato dal framework quando un riquadro viene rimosso dalla finestra del mini frame padre. |
CBasePane::OnSetAccData | CBasePane non usa questo metodo. |
CBasePane::OnUpdateCmdUI |
Usato internamente. |
CBasePane::P aneFromPoint | Restituisce il riquadro che contiene il punto specificato. |
CBasePane::PreTranslateMessage |
Usato dalla classe CWinApp per convertire i messaggi della finestra prima che vengano inviati alle funzioni Windows TranslateMessage e DispatchMessage . Esegue l'override di CWnd::PreTranslateMessage. |
CBasePane::RecalcLayout | CBasePane non usa questo metodo. |
CBasePane::RemovePaneFromDockManager | Annulla la registrazione di un riquadro e lo rimuove dall'elenco nel gestore di ancoraggio. |
CBasePane::SaveState | Salva lo stato del riquadro nel Registro di sistema. |
CBasePane::SelectDefaultFont | Seleziona il tipo di carattere predefinito per un determinato contesto di dispositivo. |
CBasePane::Serialize |
Legge o scrive l'oggetto corrente da o in un archivio. Esegue l'override di CObject::Serialize. |
CBasePane::SetControlBarStyle | Imposta lo stile della barra di controllo. |
CBasePane::SetDockingMode | Imposta la modalità di ancoraggio per il riquadro. |
CBasePane::SetMDITabbed |
Usato internamente. |
CBasePane::SetPaneAlignment | Imposta l'allineamento per il riquadro. |
CBasePane::SetPaneRect |
Usato internamente. |
CBasePane::SetPaneStyle | Imposta lo stile del riquadro. |
CBasePane::SetRestoredFromRegistry |
Usato internamente. |
CBasePane::SetWindowPos | Modifica le dimensioni, la posizione e l'ordine Z di un riquadro. |
CBasePane::ShowPane | Visualizza o nasconde il riquadro. |
CBasePane::StretchPane | Adatta un riquadro in verticale o in orizzontale. |
CBasePane::UndockPane | Rimuove il riquadro dal sito dock, dal dispositivo di scorrimento predefinito o dalla finestra mini-frame in cui è attualmente ancorato. |
Metodi protetti
Nome | Descrizione |
---|---|
CBasePane::D oPaint | Riempie lo sfondo del riquadro. |
Osservazioni:
Se si vuole creare una classe di riquadri che supporti le funzionalità di ancoraggio estese disponibili in MFC, è necessario derivarla da CBasePane
o dalla classe CPane.
Suggerimenti per la personalizzazione
I suggerimenti di personalizzazione seguenti riguardano le CBasePane Class
classi e le classi che ereditano da esso:
Quando si crea un riquadro, è possibile applicare diversi nuovi stili:
AFX_CBRS_FLOAT rende il riquadro mobile.
AFX_CBRS_AUTOHIDE abilita la modalità nascondi automaticamente.
AFX_CBRS_CLOSE consente di chiudere il riquadro (nascosto).
Si tratta di flag che è possibile combinare con un'operazione OR bit per bit.
CBasePane
implementa i metodi booleani virtuali seguenti per riflettere questi flag: CBasePane::CanBeClosed, CBasePane::CanAutoHide, CBasePane::CanFloat. È possibile eseguirne l'override nelle classi derivate per personalizzare il comportamento.
È possibile personalizzare il comportamento di ancoraggio eseguendo l'override di CBasePane::CanAcceptPane. Fare in modo che il riquadro restituisca FALSE da questo metodo per impedire l'ancoraggio a un altro riquadro.
Se si desidera creare un riquadro statico che non può essere mobile e che impedisce a qualsiasi altro riquadro di ancorare prima di esso (simile alla barra di Outlook nell'esempio outlookDemo), crearlo come non mobile ed eseguire l'override di CBasePane::D oesAllowDynInsertBefore per restituire FALSE. L'implementazione predefinita restituisce FALSE se il riquadro viene creato senza lo stile AFX_CBRS_FLOAT.
Creare tutti i riquadri con ID diversi da -1.
Per determinare la visibilità del riquadro, usare CBasePane::IsVisible. Gestisce correttamente lo stato di visibilità nelle modalità tabulazioni e nascondi automaticamente.
Se si vuole creare un riquadro ridimensionabile non mobile, crearlo senza lo stile AFX_CBRS_FLOAT e chiamare CFrameWnd::D ockControlBar.
Per escludere un riquadro da un layout di ancoraggio o rimuovere una barra degli strumenti dalla relativa barra di ancoraggio, chiamare CBasePane::UndockPane. Non chiamare questo metodo per i riquadri in modalità nascondi automaticamente o per i riquadri che si trovano nelle schede delle finestre a schede.
Se si vuole spostare o scollegare un riquadro in modalità nascondi automaticamente, è necessario chiamare CDockablePane::SetAutoHideMode con FALSE come primo argomento prima di chiamare CBasePane::FloatPane o CBasePane::UndockPane.
Esempio
L'esempio seguente illustra come usare i vari metodi nella classe CBasePane
. Nell'esempio viene illustrato come recuperare un riquadro dalla CFrameWndEx
classe e come impostare la modalità di ancoraggio, l'allineamento del riquadro e lo stile del riquadro. Il codice proviene dall'esempio di Word Pad.
// This CMainFrame class extends the CFrameWndEx class.
// GetPane is a method in the CFrameWndEx class which
// Returns a pointer to the pane that has the specified ID.
CBasePane *pBar = GetPane(ID_VIEW_FORMATBAR);
if (pBar != NULL)
{
// Set the docking mode, the pane alignment, and the pane style.
pBar->SetDockingMode(DT_STANDARD);
pBar->SetPaneAlignment(CBRS_ALIGN_LEFT);
pBar->SetPaneStyle(pBar->GetCurrentAlignment() | CBRS_TOOLTIPS);
pBar->ShowPane(TRUE, FALSE, FALSE);
}
Gerarchia di ereditarietà
Requisiti
Intestazione: afxbasepane.h
CBasePane::AccNotifyObjectFocusEvent
CBasePane
non usa questo metodo.
virtual void AccNotifyObjectFocusEvent(int);
Parametri
int
[in] Non utilizzato.
CBasePane::AddPane
Aggiunge un riquadro al gestore di ancoraggio.
void AddPane(CBasePane* pBar);
Parametri
pBar
[in] Puntatore a un riquadro da aggiungere.
Osservazioni:
Si tratta di un metodo pratico che aggiunge un riquadro a un gestore di ancoraggio. Usando questo metodo, non è necessario scrivere codice che analizza il tipo di frame padre.
Per altre informazioni, vedere Classe CDockingManager e CMDIFrameWndEx::AddPane.
CBasePane::AdjustDockingLayout
Reindirizza una chiamata al gestore di ancoraggio per regolare il layout di ancoraggio.
virtual void AdjustDockingLayout(HDWP hdwp=NULL);
Parametri
hdwp
[out] Handle di una struttura contenente più posizioni della finestra.
Osservazioni:
Si tratta di un metodo pratico che regola il layout di ancoraggio. Usando questo metodo, non è necessario scrivere codice che analizza il tipo di frame padre.
Per altre informazioni, vedere CDockingManager::AdjustDockingLayout
CBasePane::AdjustLayout
Chiamato dal framework per regolare il layout interno di un riquadro.
virtual void AdjustLayout();
Osservazioni:
Il framework chiama questo metodo quando un riquadro deve regolare il layout interno. L'implementazione di base non esegue alcuna operazione.
CBasePane::CalcFixedLayout
Calcola le dimensioni orizzontali di una barra di controllo.
virtual CSize CalcFixedLayout(
BOOL bStretch,
BOOL bHorz);
Parametri
bStretch
[in] Indica se la barra deve essere estesa alle dimensioni del frame. Il parametro bStretch è diverso da zero quando la barra non è una barra di ancoraggio (non disponibile per l'ancoraggio) e è 0 quando è ancorata o mobile (disponibile per l'ancoraggio).
bHorz
[in] Indica che la barra è orientata orizzontalmente o verticalmente. Il parametro bHorz è diverso da zero se la barra è orientata orizzontalmente e è 0 se è orientata verticalmente.
Valore restituito
Dimensione della barra di controllo, in pixel, di un CSize
oggetto .
Osservazioni:
Vedere la sezione osservazioni in CControlBar::CalcFixedLayout
CBasePane::CanAcceptPane
Determina se è possibile ancorare un altro riquadro al riquadro.
virtual BOOL CanAcceptPane(const CBasePane* pBar) const;
Parametri
pBar
[in] Puntatore al riquadro da ancorare.
Valore restituito
TRUE se è possibile accettare un altro riquadro; in caso contrario FALSE.
Osservazioni:
Il framework chiama questo metodo prima di ancorare il riquadro specificato da pBar al riquadro corrente.
Usare questo metodo e il metodo CBasePane::CanBeDocked per controllare la modalità di ancoraggio dei riquadri ad altri riquadri nell'applicazione.
L'implementazione predefinita restituisce FALSE.
CBasePane::CanAutoHide
Determina se il riquadro supporta la modalità nascondi automaticamente.
virtual BOOL CanAutoHide() const;
Valore restituito
TRUE se questo riquadro supporta la modalità nascondi automaticamente; in caso contrario FALSE.
Osservazioni:
Il framework chiama questa funzione per determinare se il riquadro supporta la modalità nascondi automaticamente.
Durante la costruzione, è possibile impostare questa possibilità passando il flag AFX_CBRS_AUTOHIDE a CBasePane::CreateEx.
L'implementazione predefinita verifica la presenza del flag AFX_CBRS_AUTOHIDE. Eseguire l'override di questo metodo in una classe derivata per personalizzare questo comportamento.
CBasePane::CanBeAttached
Determina se il riquadro può essere ancorato a un altro riquadro o a un'altra finestra cornice.
virtual BOOL CanBeAttached() const;
Valore restituito
TRUE se il riquadro può essere ancorato a un altro riquadro o a un'altra finestra cornice; in caso contrario FALSE.
Osservazioni:
L'implementazione predefinita restituisce FALSE. Eseguire l'override di questo metodo in una classe derivata per abilitare o disabilitare la possibilità di ancorare senza chiamare CBasePane::EnableDocking.
CBasePane::CanBeClosed
Determina se il riquadro può essere chiuso.
virtual BOOL CanBeClosed() const;
Valore restituito
TRUE se il riquadro può essere chiuso; in caso contrario FALSE.
Osservazioni:
Il framework chiama questo metodo per determinare se il riquadro può essere chiuso. Se il metodo restituisce TRUE, viene aggiunto un pulsante Chiudi alla barra del titolo del riquadro o, se il riquadro è mobile, alla barra del titolo della finestra miniframe del riquadro.
Durante la costruzione, è possibile impostare questa possibilità passando il flag AFX_CBRS_CLOSE a CBasePane::CreateEx.
L'implementazione predefinita verifica la presenza del flag di AFX_CBRS_CLOSE.
CBasePane::CanBeDocked
Determina se il riquadro può essere ancorato a un altro riquadro.
virtual BOOL CanBeDocked(CBasePane* pDockBar) const;
Parametri
pDockBar
[in] Puntatore a un altro riquadro.
Valore restituito
TRUE se questo riquadro può essere ancorato a un altro riquadro; in caso contrario FALSE.
Osservazioni:
Il framework chiama questo metodo prima di ancorare il riquadro specificato da pDockBar al riquadro corrente.
Usare questo metodo e il metodo CBasePane::CanAcceptPane per controllare come i riquadri ancorano ad altri riquadri nell'applicazione.
L'implementazione predefinita restituisce FALSE.
CBasePane::CanBeResized
Determina se il riquadro può essere ridimensionato.
virtual BOOL CanBeResized() const;
Valore restituito
TRUE se il riquadro può essere ridimensionato; in caso contrario, FALSE.
Osservazioni:
Questo metodo controlla la presenza del flag AFX_CBRS_RESIZE, specificato per impostazione predefinita in CBasePane::OnCreate
. Se questo flag non viene specificato, il gestore di ancoraggio contrassegna internamente il riquadro come rimovibile anziché ancorarlo.
CBasePane::CanBeTabbedDocument
Specifica se il riquadro può essere convertito in un documento a schede MDI.
virtual BOOL CanBeTabbedDocument() const;
Valore restituito
TRUE se il riquadro può essere convertito in un documento a schede; in caso contrario, FALSE. CBasePane::CanBeTabbedDocument
restituisce sempre FALSE.
Osservazioni:
Solo gli oggetti di determinati CBasePane
tipi derivati, ad esempio la classe CDockablePane, possono essere convertiti in documenti a schede.
CBasePane::CanFloat
Determina se il riquadro può essere mobile.
virtual BOOL CanFloat() const;
Valore restituito
TRUE se il riquadro può galleggiare; in caso contrario FALSE.
Osservazioni:
Il framework chiama questo metodo per determinare se il riquadro può essere float.
Durante la costruzione, è possibile impostare questa possibilità passando il flag AFX_CBRS_FLOAT a CBasePane::CreateEx.
Nota
Il framework presuppone che i riquadri non mobili siano statici e che lo stato di ancoraggio non possa cambiare. Di conseguenza, il framework non salva lo stato di ancoraggio di riquadri non mobili.
L'implementazione predefinita controlla lo stile di AFX_CBRS_FLOAT.
CBasePane::CanFocus
Specifica se il riquadro può ricevere lo stato attivo.
virtual BOOL CanFocus() const;
Valore restituito
TRUE se il riquadro può ricevere lo stato attivo; in caso contrario FALSE.
Osservazioni:
Eseguire l'override di questo metodo in una classe derivata per controllare lo stato attivo. Ad esempio, poiché le barre degli strumenti non possono ricevere lo stato attivo, questo metodo restituisce FALSE quando viene chiamato sugli oggetti della barra degli strumenti.
Il framework tenta di impostare lo stato attivo di input quando un riquadro è ancorato o float.
CBasePane::CopyState
Copia lo stato di un determinato riquadro.
virtual void CopyState(CBasePane* pOrgBar);
Parametri
pOrgBar
[in] Puntatore a un altro riquadro.
Osservazioni:
Questo metodo copia lo stato da pOrgBar a questo riquadro.
CBasePane::CreateDefaultMiniframe
Se il riquadro può essere mobile, questo metodo crea una finestra con mini frame.
virtual CPaneFrameWnd* CreateDefaultMiniframe(CRect rectInitial);
Parametri
rectInitial
[in] Specifica le coordinate iniziali della finestra mini-frame.
Valore restituito
Puntatore alla nuova finestra mini-frame o NULL se la creazione non è riuscita.
Osservazioni:
Il framework chiama questo metodo quando un riquadro passa a uno stato mobile. Il metodo crea una finestra con mini frame e collega il riquadro a questa finestra.
L'implementazione predefinita restituisce NULL.
CBasePane::CreateEx
Crea il controllo riquadro.
virtual BOOL CreateEx(
DWORD dwStyleEx,
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
DWORD dwControlBarStyle=0,
CCreateContext* pContext=NULL);
Parametri
dwStyleEx
[in] Gli stili estesi (vedere CWnd::CreateEx per altre informazioni).
lpszClassName
[in] Nome della classe della finestra.
lpszWindowName
[in] Nome della finestra.
dwStyle
[in] Stile della finestra (vedere CWnd::CreateEx).
rect
[in] Rettangolo iniziale.
pParentWnd
[in] Puntatore alla finestra padre.
nID
[in] Specifica l'ID del riquadro. Deve essere univoco.
dwControlBarStyle
[in] Flag di stile per i riquadri.
pContext
[in] Puntatore a CcreateContext
Valore restituito
TRUE se il riquadro viene creato correttamente; in caso contrario FALSE.
Osservazioni:
Crea una finestra della classe lpszClassName
. Se si specifica WS_CAPTION, questo metodo cancella il bit di stile WS_CAPTION e imposta su CBasePane::m_bHasCaption
TRUE, perché la libreria non supporta riquadri con didascalie.
È possibile usare qualsiasi combinazione di stili di finestra figlio e stili della barra di controllo MFC (CBRS_).
La libreria aggiunge diversi nuovi stili per i riquadri. Nella tabella seguente vengono descritti i nuovi stili:
Style | Descrizione |
---|---|
AFX_CBRS_FLOAT | Il riquadro può essere mobile. |
AFX_CBRS_AUTOHIDE | Il riquadro supporta la modalità nascondi automaticamente |
AFX_CBRS_RESIZE | Il riquadro può essere ridimensionato. Importante: questo stile non viene implementato. |
AFX_CBRS_CLOSE | Il riquadro può essere chiuso. |
AFX_CBRS_AUTO_ROLLUP | È possibile eseguire il rollup del riquadro quando viene spostato. |
AFX_CBRS_REGULAR_TABS | Quando un riquadro si ancora a un altro riquadro con questo stile, viene creata una normale finestra a schede. Per altre informazioni, vedere Classe CTabbedPane. |
AFX_CBRS_OUTLOOK_TABS | Quando un riquadro si ancora a un altro riquadro con questo stile, viene creata una finestra a schede in stile Outlook. Per altre informazioni, vedere Classe CMFCOutlookBar. |
Per usare i nuovi stili, specificarli in dwControlBarStyle.
CBasePane::D ockPane
Ancora un riquadro a un altro riquadro o a una finestra cornice.
virtual BOOL DockPane(
CBasePane* pDockBar,
LPCRECT lpRect,
AFX_DOCK_METHOD dockMethod);
Parametri
pDockBar
[in] Puntatore a un altro riquadro.
lpRect
[in] Specifica il rettangolo di destinazione.
dockMethod
[in] Specifica il metodo di ancoraggio.
Valore restituito
TRUE se la barra di controllo è stata ancorata correttamente; in caso contrario, FALSE.
Osservazioni:
Chiamare questa funzione per ancorare un riquadro a un altro riquadro o a una barra dock ( classe CDockSite) specificata da pDockBar o a un frame principale se pDockBar è NULL.
dockMethod specifica la modalità di ancoraggio del riquadro. Per un elenco dei valori possibili, vedere CPane::D ockPane .
CBasePane::D ockPaneUsingRTTI
Ancora il riquadro usando le informazioni sul tipo di runtime.
void DockPaneUsingRTTI(BOOL bUseDockSite);
Parametri
bUseDockSite
[in] Se TRUE, ancorare al sito di ancoraggio. Se FALSE, ancorare al frame padre.
CBasePane::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] Dimensioni desiderate.
dwDockFlags
[in] Ignorato.
pRelativeBar
[in] Ignorato.
nRelativeIndex
[in] Ignorato.
bOuterEdge
[in] Se TRUE e sono presenti altri riquadri ancorabili sul lato specificato 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
TRUE se il metodo ha avuto esito positivo; in caso contrario FALSE.
Osservazioni:
Questo metodo non riesce se non è possibile creare un divisore di riquadri ( classe CPaneDivider). In caso contrario, restituisce sempre TRUE.
CBasePane::D oesAllowDynInsertBefore
Determina se un altro riquadro può essere inserito dinamicamente tra questo riquadro e il frame padre.
virtual BOOL DoesAllowDynInsertBefore() const;
Valore restituito
TRUE se un utente può inserire un altro riquadro; in caso contrario FALSE.
Osservazioni:
Il framework chiama questo metodo per determinare se un utente può inserire dinamicamente un riquadro prima di questo riquadro.
Si supponga, ad esempio, che l'applicazione crei un riquadro ancorato sul lato sinistro del frame, ad esempio la barra di Outlook. Per impedire all'utente di ancorare un altro riquadro a sinistra del primo riquadro, eseguire l'override di questo metodo e restituire FALSE.
È consigliabile eseguire l'override di questo metodo e restituire FALSE per riquadri non mobili derivati dalla classe CDockablePane.
L'implementazione predefinita restituisce TRUE.
CBasePane::D oPaint
Riempie lo sfondo del riquadro.
virtual void DoPaint(CDC* pDC);
Parametri
pDC
[in] Puntatore a un contesto di dispositivo.
Osservazioni:
L'implementazione predefinita chiama il gestore visivo corrente per riempire lo sfondo ( CMFCVisualManager::OnFillBarBackground).
CBasePane::EnableDocking
Abilita l'ancoraggio del riquadro al frame principale.
virtual void EnableDocking(DWORD dwAlignment);
Parametri
dwAlignment
[in] Specifica l'allineamento dell'ancoraggio da abilitare.
Osservazioni:
Chiamare questo metodo per abilitare l'allineamento dell'ancoraggio al fotogramma principale. È possibile passare una combinazione di flag CBRS_ALIGN_ (per altre informazioni, vedere CControlBar::EnableDocking).
EnableDocking
imposta il flag CBasePane::m_dwEnabledAlignment
interno e il framework controlla questo flag quando viene ancorato un riquadro.
Chiamare CBasePane::GetEnabledAlignment per determinare l'allineamento dell'ancoraggio per un riquadro.
CBasePane::EnableGripper
Abilita o disabilita il gripper. Se il gripper è abilitato, l'utente può trascinarlo per riposizionare il riquadro.
virtual void EnableGripper(BOOL bEnable);
Parametri
bEnable
[in] TRUE per abilitare il gripper; FALSE per disabilitarla.
Osservazioni:
Il framework usa questo metodo per abilitare un gripper invece di usare lo stile WS_CAPTION.
CBasePane::FloatPane
Floats the pane.
virtual BOOL FloatPane(
CRect rectFloat,
AFX_DOCK_METHOD dockMethod=DM_UNKNOWN,
bool bShow=true);
Parametri
rectFloat
[in] Specifica le coordinate dello schermo in cui viene visualizzato il riquadro mobile.
dockMethod
[in] Specifica il metodo dock da utilizzare per spostare il riquadro.
bShow
[in] Specifica se il riquadro mobile è visibile (TRUE) o nascosto (FALSE).
Valore restituito
TRUE se il riquadro è stato spostato correttamente; in caso contrario FALSE.
Osservazioni:
Chiamare questo metodo per spostare un riquadro nella posizione dello schermo specificata da rectFloat.
CBasePane::get_accHelpTopic
Il framework chiama questo metodo per recuperare il percorso completo del file WinHelp associato all'oggetto specificato e all'identificatore dell'argomento appropriato in tale file.
virtual HRESULT get_accHelpTopic(
BSTR* pszHelpFile,
VARIANT varChild,
long* pidTopic);
Parametri
pszHelpFile
[in] Indirizzo di un oggetto BSTR che riceve il percorso completo del file WinHelp associato all'oggetto specificato, se presente.
varChild
[in] Specifica se l'argomento della Guida da recuperare è quello dell'oggetto o uno degli elementi figlio dell'oggetto. Questo parametro può essere CHILDID_SELF (per ottenere un argomento della Guida per l'oggetto) o un ID figlio (per ottenere un argomento della Guida per uno degli elementi figlio dell'oggetto).
pidTopic
[in] Identifica l'argomento del file della Guida associato all'oggetto specificato.
Valore restituito
CBasePane
non implementa questo metodo. Pertanto, CBasePane::get_accHelpTopic
restituisce sempre S_FALSE.
Osservazioni:
Questa funzione fa parte del supporto per l'accessibilità attiva in MFC. Eseguire l'override di questa funzione in una classe derivata per fornire informazioni della Guida sull'oggetto.
CBasePane::get_accSelection
Il framework chiama questo metodo per recuperare gli elementi figlio selezionati di questo oggetto.
virtual HRESULT get_accSelection(VARIANT* pvarChildren);
Parametri
pvarChildren
[in] Riceve informazioni che identificano gli elementi figlio selezionati.
Valore restituito
CBasePane
non implementa questo metodo. Se pvarChildren è NULL, questo metodo restituisce E_INVALIDARG. In caso contrario, questo metodo restituisce DISP_E_MEMBERNOTFOUND.
Osservazioni:
Questa funzione fa parte del supporto per l'accessibilità attiva in MFC. Eseguire l'override di questa funzione in una classe derivata se sono presenti elementi dell'interfaccia utente non finestra diversi dai controlli ActiveX senza finestra.
CBasePane::GetCaptionHeight
Restituisce l'altezza della didascalia.
virtual int GetCaptionHeight() const;
Valore restituito
Altezza della didascalia.
CBasePane::GetControlBarStyle
Restituisce lo stile della barra dei controlli.
virtual DWORD GetControlBarStyle() const
Valore restituito
Combinazione OR bit per bit di flag AFX_CBRS_.
Osservazioni:
Il valore restituito è una combinazione dei valori possibili seguenti.
Style | Descrizione |
---|---|
AFX_CBRS_FLOAT | Rende la barra di controllo float. |
AFX_CBRS_AUTOHIDE | Abilita la modalità nascondi automaticamente. |
AFX_CBRS_RESIZE | Abilita il ridimensionamento della barra di controllo. Quando questo flag è impostato, la barra di controllo può essere posizionata in un riquadro ancorabile. |
AFX_CBRS_CLOSE | Consente di nascondere la barra di controllo. |
CBasePane::GetCurrentAlignment
Restituisce l'allineamento del riquadro corrente.
virtual DWORD GetCurrentAlignment() const;
Valore restituito
Allineamento corrente della barra di controllo. Nella tabella seguente sono illustrati i possibili valori:
Valore | Allineamento |
---|---|
CBRS_ALIGN_LEFT | Allineamento sinistro. |
CBRS_ALIGN_RIGHT | Allineamento a destra. |
CBRS_ALIGN_TOP | Allineamento superiore. |
CBRS_ALIGN_BOTTOM | Allineamento inferiore. |
CBasePane::GetDockingMode
Restituisce la modalità di ancoraggio corrente per il riquadro.
virtual AFX_DOCK_TYPE GetDockingMode() const;
Valore restituito
DT_STANDARD se il trascinamento del riquadro è indicato sullo schermo da un rettangolo di trascinamento. DT_IMMEDIATE se il contenuto del riquadro viene trascinato.
Osservazioni:
Il framework chiama questo metodo per determinare la modalità di ancoraggio corrente del riquadro.
Se CBasePane::m_dockMode
non è definito (DT_UNDEFINED), la modalità di ancoraggio viene presa dalla modalità di ancoraggio globale (AFX_GLOBAL_DATA::m_dockModeGlobal
).
Impostando m_dockMode o eseguendo l'override GetDockingMode
è possibile controllare la modalità di ancoraggio per ogni riquadro.
CBasePane::GetDockSiteFrameWnd
Restituisce un puntatore all'oggetto CDockingPanesRowin cui è ancorato il riquadro.
virtual CWnd* GetDockSiteFrameWnd() const;
Valore restituito
Puntatore al sito di ancoraggio del riquadro.
Osservazioni:
Chiamare questo metodo per recuperare un puntatore al sito di ancoraggio del riquadro. Il sito di ancoraggio può essere una finestra cornice principale se il riquadro è ancorato al frame principale o una finestra mini-frame se il riquadro è mobile.
CBasePane::GetEnabledAlignment
Restituisce gli stili CBRS_ALIGN_ applicati al riquadro.
virtual DWORD GetEnabledAlignment() const;
Valore restituito
Combinazione di stili CBRS_ALIGN_. La tabella seguente illustra i possibili stili:
Flag | Allineamento abilitato |
---|---|
CBRS_ALIGN_LEFT | A sinistra. |
CBRS_ALIGN_RIGHT | Hai ragione. |
CBRS_ALIGN_TOP | Top. |
CBRS_ALIGN_BOTTOM | Fondoschiena. |
CBRS_ALIGN_ANY | Combinazione di tutti i flag. |
Osservazioni:
Chiamare questo metodo per determinare l'allineamento abilitato per il riquadro. L'allineamento abilitato indica che i lati della finestra cornice principale a cui è possibile ancorare un riquadro.
Abilitare l'allineamento dell'ancoraggio usando CBasePane::EnableDocking.
CBasePane::GetMFCStyle
Restituisce gli stili del riquadro specifici di MFC.
virtual DWORD GetMFCStyle() const;
Valore restituito
Combinazione di stili di riquadro specifici della libreria (AFX_CBRS_).
CBasePane::GetPaneIcon
Restituisce un handle per l'icona del riquadro.
virtual HICON GetPaneIcon(BOOL bBigIcon);
Parametri
bBigIcon
[in] Specifica un'icona da 32 pixel a 32 pixel se TRUE; specifica un'icona di 16 pixel per 16 pixel se FALSE.
Valore restituito
Handle per l'icona del riquadro. In caso di esito negativo, restituisce NULL.
Osservazioni:
L'implementazione predefinita chiama CWnd::GetIcon.
CBasePane::GetPaneRow
Restituisce un puntatore all'oggetto CDockingPanesRowin cui è ancorato il riquadro.
CDockingPanesRow* GetPaneRow();
Valore restituito
Puntatore a CDockingPanesRow
se il riquadro è ancorato o NULL se è mobile.
Osservazioni:
Chiamare questo metodo per accedere alla riga in cui è ancorato un riquadro. Ad esempio, per disporre i riquadri in una determinata riga, chiamare e quindi chiamare GetPaneRow
CDockingPanesRow::ArrangePanes.
CBasePane::GetPaneStyle
Restituisce lo stile del riquadro.
virtual DWORD GetPaneStyle() const;
Valore restituito
Combinazione di stili della barra dei controlli (inclusi gli stili CBRS_) impostati dal metodo CBasePane::SetPaneStyle in fase di creazione.
CBasePane::GetParentDockSite
Restituisce un puntatore al sito dock padre.
virtual CDockSite* GetParentDockSite() const;
Valore restituito
Sito dock padre.
CBasePane::GetParentMiniFrame
Restituisce un puntatore alla finestra padre mini-frame.
virtual CPaneFrameWnd* GetParentMiniFrame(BOOL bNoAssert=FALSE) const;
Parametri
bNoAssert
[in] Se TRUE, questo metodo non verifica la presenza di puntatori non validi. Se si chiama questo metodo quando l'applicazione viene chiusa, impostare questo parametro su TRUE.
Valore restituito
Puntatore valido alla finestra padre mini-frame se il riquadro è mobile; in caso contrario NULL.
Osservazioni:
Chiamare questa funzione per recuperare un puntatore alla finestra del mini frame padre. Questo metodo scorre tutti gli elementi padre e verifica la presenza di un oggetto derivato dalla classe CPaneFrameWnd.
Utilizzare GetParentMiniFrame
per determinare se il riquadro è mobile.
CBasePane::GetParentTabbedPane
Restituisce un puntatore al riquadro a schede padre.
CBaseTabbedPane* GetParentTabbedPane() const;
Valore restituito
Puntatore al riquadro a schede padre, se presente; in caso contrario NULL.
CBasePane::GetParentTabWnd
Restituisce un puntatore alla finestra padre all'interno di una scheda.
CMFCBaseTabCtrl* GetParentTabWnd(HWND& hWndTab) const;
Parametri
hWndTab
[out] Se il valore restituito non è NULL, questo parametro contiene l'handle per la finestra a schede padre.
Valore restituito
Puntatore valido alla finestra a schede padre o NULL.
Osservazioni:
Usare questa funzione per recuperare un puntatore alla finestra a schede padre. A volte non è sufficiente chiamare GetParent
, perché un riquadro può trovarsi all'interno di un wrapper di ancoraggio ( classe CDockablePaneAdapter) o all'interno di un adattatore del riquadro ( classe CDockablePaneAdapter). GetParentTabWnd
Usando sarà possibile recuperare un puntatore valido in tali casi ,presupponendo che l'elemento padre sia una finestra a schede.
CBasePane::GetRecentVisibleState
Il framework chiama questo metodo quando un riquadro viene ripristinato da un archivio.
virtual BOOL GetRecentVisibleState() const;
Valore restituito
Valore BOOL che specifica lo stato visibile recente. Se TRUE, il riquadro era visibile durante la serializzazione e dovrebbe essere visibile quando viene ripristinato. Se FALSE, il riquadro è stato nascosto durante la serializzazione e deve essere nascosto al momento del ripristino.
CBasePane::HideInPrintPreviewMode
Specifica se il riquadro è nascosto nell'anteprima di stampa.
virtual BOOL HideInPrintPreviewMode() const;
Valore restituito
TRUE se il riquadro non viene visualizzato nell'anteprima di stampa; in caso contrario, FALSE.
Osservazioni:
I riquadri di base non vengono visualizzati nell'anteprima di stampa. Pertanto, questo metodo restituisce sempre TRUE.
CBasePane::InsertPane
Registra il riquadro specificato con il gestore di ancoraggio.
BOOL InsertPane(
CBasePane* pControlBar,
CBasePane* pTarget,
BOOL bAfter = TRUE);
Parametri
pControlBar
[in] Puntatore al riquadro da inserire.
pTarget
[in] Puntatore al riquadro adiacente.
bAfter
[in] Se TRUE, pControlBar viene inserito dopo pTarget. Se FALSE, pControlBar viene inserito prima di pTarget.
Valore restituito
TRUE se il metodo ha esito positivo, FALSE in caso contrario.
CBasePane::IsAccessibilityCompatible
Specifica se il riquadro supporta l'accessibilità attiva.
virtual BOOL IsAccessibilityCompatible();
Valore restituito
TRUE se il riquadro supporta l'accessibilità attiva; in caso contrario, FALSE.
CBasePane::IsAutoHideMode
Determina se un riquadro è in modalità nascondi automaticamente.
virtual BOOL IsAutoHideMode() const;
Valore restituito
TRUE se il riquadro è in modalità nascondi automaticamente; in caso contrario, FALSE.
Osservazioni:
I riquadri di base non possono nascondersi automaticamente. Questo metodo restituisce sempre FALSE.
CBasePane::IsDialogControl
Specifica se il riquadro è un controllo finestra di dialogo.
BOOL IsDialogControl() const;
Valore restituito
TRUE se il riquadro è un controllo della finestra di dialogo; in caso contrario, FALSE.
Osservazioni:
Il framework usa questo metodo per garantire la coerenza del layout per tutti i riquadri.
CBasePane::IsDocked
Determina se il riquadro è ancorato.
virtual BOOL IsDocked() const;
Valore restituito
TRUE se l'elemento padre del riquadro non è un mini-frame o se il riquadro è mobile in un mini-frame con un altro riquadro; in caso contrario, FALSE.
CBasePane::IsFloating
Determina se il riquadro è mobile.
virtual BOOL IsFloating() const;
Valore restituito
TRUE se il riquadro è mobile; in caso contrario, FALSE.
Osservazioni:
Questo metodo restituisce il valore opposto di CBasePane::IsDocked.
CBasePane::IsHorizontal
Determina se il riquadro è ancorato orizzontalmente.
virtual BOOL IsHorizontal() const;
Valore restituito
TRUE se il riquadro è ancorato orizzontalmente; in caso contrario FALSE.
Osservazioni:
L'implementazione predefinita controlla l'allineamento dell'ancoraggio corrente per CBRS_ORIENT_HORZ.
CBasePane::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 CBasePane::IsInFloatingMultiPaneFrameWnd
sempre FALSE.
CBasePane::IsMDITabbed
Determina se il riquadro è stato aggiunto a una finestra figlio MDI come documento a schede.
virtual BOOL IsMDITabbed() const;
Valore restituito
TRUE se il riquadro è stato aggiunto a una finestra figlio MDI come documento a schede; in caso contrario, FALSE.
CBasePane::IsPaneVisible
Specifica se il flag WS_VISIBLE è impostato per il riquadro.
BOOL IsPaneVisible() const;
Valore restituito
TRUE se WS_VISIBLE è impostato; in caso contrario, FALSE.
Osservazioni:
Usare CBasePane::IsVisible per determinare la visibilità del riquadro.
CBasePane::IsPointNearDockSite
Determina se un punto specificato si trova vicino al sito di ancoraggio.
BOOL IsPointNearDockSite(
CPoint point,
DWORD& dwBarAlignment,
BOOL& bOuterEdge) const;
Parametri
point
[in] Punto specificato.
dwBarAlignment
[out] Specifica il bordo vicino al punto. I valori possibili sono CBRS_ALIGN_LEFT, CBRS_ALIGN_RIGHT, CBRS_ALIGN_TOP e CBRS_ALIGN_BOTTOM
bOuterEdge
[out] TRUE se il punto si trova vicino al bordo esterno del sito di ancoraggio; FALSE in caso contrario.
Valore restituito
TRUE se il punto si trova vicino al sito di ancoraggio; in caso contrario FALSE.
Osservazioni:
Il punto si trova vicino al sito dock quando si trova all'interno del set di riservatezza nel gestore di ancoraggio. La sensibilità predefinita è di 15 pixel.
CBasePane::IsResizable
Determina se il riquadro può essere ridimensionato.
virtual BOOL IsResizable() const;
Valore restituito
TRUE se il riquadro può essere ridimensionato dall'utente; in caso contrario, FALSE.
Osservazioni:
I riquadri della classe CDockablePane possono essere ridimensionati.
Non è possibile ridimensionare la barra di stato ( classe CMFCStatusBar) e la barra di ancoraggio ( classe CDockSite).
CBasePane::IsRestoredFromRegistry
Determina se il riquadro viene ripristinato dal Registro di sistema.
virtual BOOL IsRestoredFromRegistry() const;
Valore restituito
TRUE se il riquadro viene ripristinato dal Registro di sistema; in caso contrario, FALSE.
CBasePane::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 la barra di controllo viene inserita in una scheda di una finestra a schede; in caso contrario FALSE.
Osservazioni:
Questo metodo recupera un puntatore all'elemento padre immediato e determina se la classe di runtime dell'elemento padre è CMFCBaseTabCtrl Class.
CBasePane::IsVisible
Determina se il riquadro è visibile.
virtual BOOL IsVisible() const;
Valore restituito
TRUE se il riquadro è visibile; in caso contrario FALSE.
Osservazioni:
Utilizzare questo metodo per determinare la visibilità di un riquadro. Non usare ::IsWindowVisible
.
Se il riquadro non è a schede (vedere CBasePane::IsTabbed), questo metodo controlla lo stile WS_VISIBLE. Se il riquadro è a schede, questo metodo controlla la visibilità della finestra a schede padre. Se la finestra padre è visibile, la funzione controlla la visibilità della scheda del riquadro usando CMFCBaseTabCtrl::IsTabVisible.
CBasePane::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 CBasePane::SaveState.
CBasePane::MoveWindow
Sposta il riquadro.
virtual HDWP MoveWindow(
CRect& rect,
BOOL bRepaint = TRUE,
HDWP hdwp = NULL);
Parametri
rect
[in] Rettangolo che specifica la nuova posizione e le dimensioni del riquadro.
bRepaint
[in] Se TRUE, il riquadro viene ridisegnato. Se FALSE, il riquadro non viene ridisegnato.
hdwp
[in] Handle in una struttura di posizione della finestra posticipata.
Valore restituito
Handle per una struttura di posizione della finestra posticipata o NULL.
Osservazioni:
Se passi NULL come parametro hdwp , questo metodo sposta normalmente la finestra. Se si passa un handle, questo metodo esegue uno spostamento posticipato della finestra. È possibile ottenere un handle chiamando BeginDeferWindowPos o archiviando il valore restituito di una chiamata precedente a questo metodo.
CBasePane::OnAfterChangeParent
Chiamato dal framework dopo la modifica dell'elemento padre del riquadro.
virtual void OnAfterChangeParent(CWnd* pWndOldParent);
Parametri
pWndOldParent
[in] Puntatore all'elemento padre precedente.
Osservazioni:
Il framework chiama questo metodo dopo le modifiche padre del riquadro, in genere a causa di un'operazione di ancoraggio o mobile.
L'implementazione predefinita non esegue alcuna operazione.
CBasePane::OnBeforeChangeParent
Chiamato dal framework subito prima che il riquadro cambi la relativa finestra padre.
virtual void OnBeforeChangeParent(
CWnd* pWndNewParent,
BOOL bDelay=FALSE);
Parametri
pWndNewParent
[in] Puntatore a una nuova finestra padre.
bDelay
[in] Specifica se le regolazioni del layout devono essere ritardate.
Osservazioni:
Il framework chiama questo metodo subito prima delle modifiche padre del riquadro, in genere a causa di un'operazione di ancoraggio, mobile o nascondi automaticamente.
L'implementazione predefinita non esegue alcuna operazione.
CBasePane::OnDrawCaption
Il framework chiama questo metodo quando viene disegnata la didascalia.
virtual void OnDrawCaption();
Osservazioni:
Questo metodo non dispone di alcuna funzionalità per la CBasePane
classe .
CBasePane::OnMovePaneDivider
Questo metodo non viene attualmente utilizzato.
virtual void OnMovePaneDivider(CPaneDivider* /* unused */);
Parametri
inutilizzato
[in] Non utilizzato.
CBasePane::OnPaneContextMenu
Chiamato dal framework quando compila un menu con un elenco di riquadri.
virtual void OnPaneContextMenu(
CWnd* pParentFrame,
CPoint point);
Parametri
pParentFrame
[in] Puntatore al frame padre.
point
[in] Specifica la posizione del menu di scelta rapida.
Osservazioni:
OnPaneContextMenu
chiama il gestore di ancoraggio, che mantiene l'elenco di riquadri che appartengono alla finestra cornice corrente. Questo metodo aggiunge i nomi dei riquadri a un menu di scelta rapida e lo visualizza. I comandi del menu mostrano o nascondono singoli riquadri.
Eseguire l'override di questo metodo per personalizzare questo comportamento.
CBasePane::OnRemoveFromMiniFrame
Chiamato dal framework quando un riquadro viene rimosso dalla finestra del mini frame padre.
virtual void OnRemoveFromMiniFrame(CPaneFrameWnd* pMiniFrame);
Parametri
pMiniFrame
[in] Puntatore a una finestra mini-frame da cui viene rimosso il riquadro.
Osservazioni:
Il framework chiama questo metodo quando un riquadro viene rimosso dalla finestra padre mini-frame ,ad esempio in seguito all'ancoraggio.
L'implementazione predefinita non esegue alcuna operazione.
CBasePane::OnSetAccData
CBasePane
non usa questo metodo.
virtual BOOL OnSetAccData(long lVal);
Parametri
lVal
[in] Non utilizzato.
Valore restituito
Questo metodo restituisce sempre TRUE.
Osservazioni:
CBasePane::P aneFromPoint
Restituisce il riquadro che contiene il punto specificato.
CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
bool bExactBar = false,
CRuntimeClass* pRTCBarType = NULL) const;
Parametri
point
[in] Specifica il punto, nelle coordinate dello schermo, da controllare.
nSensitivity
[in] Aumentare l'area di ricerca di questo importo. Un riquadro soddisfa i criteri di ricerca se il punto specificato rientra nell'area aumentata.
bExactBar
[in] TRUE per ignorare il parametro nSensitivity ; in caso contrario, FALSE.
pRTCBarType
[in] Se non è NULL, il metodo cerca solo riquadri del tipo specificato.
Valore restituito
Oggetto CBasePane
derivato da che contiene il punto specificato o NULL se non è stato trovato alcun riquadro.
CBasePane::RecalcLayout
CBasePane
non usa questo metodo.
virtual void RecalcLayout();
CBasePane::RemovePaneFromDockManager
Annulla la registrazione di un riquadro e lo rimuove dall'elenco nel gestore di ancoraggio.
void RemovePaneFromDockManager(
CBasePane* pBar,
BOOL bDestroy = TRUE,
BOOL bAdjustLayout = FALSE,
BOOL bAutoHide = FALSE,
CBasePane* pBarReplacement = NULL);
Parametri
pBar
[in] Puntatore a un riquadro da rimuovere.
bDestroy
[in] Se TRUE, il riquadro rimosso viene eliminato definitivamente.
bAdjustLayout
[in] Se TRUE, regolare immediatamente il layout di ancoraggio.
bAutoHide
[in] Se TRUE, il layout di ancoraggio è correlato all'elenco delle barre di espansione automatica. Se FALSE, il layout di ancoraggio è correlato all'elenco dei riquadri normali.
pBarReplacement
[in] Puntatore a un riquadro che sostituisce il riquadro rimosso.
CBasePane::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
.
CBasePane::SelectDefaultFont
Seleziona il tipo di carattere predefinito per un determinato contesto di dispositivo.
CFont* SelectDefaultFont(CDC* pDC);
Parametri
pDC
[in] Contesto di dispositivo.
Valore restituito
Puntatore all'oggetto classe CFont predefinito.
CBasePane::SetControlBarStyle
Imposta lo stile della barra di controllo.
virtual void SetControlBarStyle(DWORD dwNewStyle);
Parametri
dwNewStyle
[in] Combinazione OR bit per bit dei valori possibili seguenti.
Style | Descrizione |
---|---|
AFX_CBRS_FLOAT | Rende la barra di controllo float. |
AFX_CBRS_AUTOHIDE | Abilita la modalità nascondi automaticamente. |
AFX_CBRS_RESIZE | Abilita il ridimensionamento della barra di controllo. Quando questo flag è impostato, la barra di controllo può essere posizionata in un riquadro ancorabile. |
AFX_CBRS_CLOSE | Consente di nascondere la barra di controllo. |
CBasePane::SetDockingMode
Imposta la modalità di ancoraggio per il riquadro.
void SetDockingMode(AFX_DOCK_TYPE dockModeNew);
Parametri
dockModeNew
[in] Specifica la nuova modalità di ancoraggio per il riquadro.
Osservazioni:
Il framework supporta due modalità di ancoraggio: standard e immediate.
Nella modalità di ancoraggio standard, i riquadri e le finestre mini-frame vengono spostati usando un rettangolo di trascinamento. Nella modalità di ancoraggio immediato, le barre di controllo e le finestre mini-frame vengono spostate immediatamente con il relativo contesto.
Inizialmente, la modalità di ancoraggio viene definita a livello globale da CDockingManager::m_dockModeGlobal. È possibile impostare la modalità di ancoraggio per ogni riquadro singolarmente usando il SetDockingMode
metodo .
CBasePane::SetPaneAlignment
Imposta l'allineamento per il riquadro.
virtual void SetPaneAlignment(DWORD dwAlignment);
Parametri
dwAlignment
[in] Specifica il nuovo allineamento.
Osservazioni:
In genere, il framework chiama questo metodo quando un riquadro è ancorato da un lato del frame principale a un altro.
La tabella seguente illustra i valori possibili per dwAlignment:
Valore | Allineamento |
---|---|
CBRS_ALIGN_LEFT | Allineamento sinistro. |
CBRS_ALIGN_RIGHT | Allineamento a destra. |
CBRS_ALIGN_TOP | Allineamento superiore. |
CBRS_ALIGN_BOTTOM | Allineamento inferiore. |
CBasePane::SetPaneStyle
Imposta lo stile del riquadro.
virtual void SetPaneStyle(DWORD dwNewStyle);
Parametri
dwNewStyle
[in] Specifica il nuovo stile da impostare.
Osservazioni:
Questo metodo può essere usato per impostare uno degli stili di CBRS_ definiti in afxres.h. Poiché lo stile del riquadro e l'allineamento del riquadro vengono archiviati insieme, impostare il nuovo stile combinandolo con l'allineamento corrente come indicato di seguito.
pPane->SetPaneStyle (pPane->GetCurrentAlignment() | CBRS_TOOLTIPS);
CBasePane::SetWindowPos
Modifica le dimensioni, la posizione e l'ordine Z di un riquadro.
virtual HDWP SetWindowPos(
const CWnd* pWndInsertAfter,
int x,
int y,
int cx,
int cy,
UINT nFlags,
HDWP hdwp = NULL);
Parametri
pWndInsertAfter
[in] Identifica l'oggetto CWnd
che precede questo CWnd
oggetto nell'ordine Z. Per altre informazioni, vedere CWnd::SetWindowPos.
x
[in] Specifica la posizione del lato sinistro della finestra.
y
[in] Specifica la posizione della parte superiore della finestra.
cx
[in] Specifica la larghezza della finestra.
Cy
[in] Specifica l'altezza della finestra.
nFlags
[in] Specifica le opzioni di dimensione e posizione. Per altre informazioni, vedere CWnd::SetWindowPos.
hdwp
[in] Handle in una struttura che contiene informazioni sulle dimensioni e sulla posizione per una o più finestre.
Valore restituito
Handle per una struttura aggiornata della posizione della finestra posticipata o NULL.
Osservazioni:
Se pWndInsertAfter è NULL, questo metodo chiama CWnd::SetWindowPos. Se pWndInsertAfter non è NULL, questo metodo chiama DeferWindowPos
.
CBasePane::ShowPane
Visualizza o nasconde il riquadro.
virtual void ShowPane(
BOOL bShow,
BOOL bDelay,
BOOL bActivate);
Parametri
bShow
[in] Specifica se visualizzare (TRUE) o nascondere (FALSE) un riquadro.
bDelay
[in] Se TRUE, il ricalcolo del layout di ancoraggio viene ritardato.
bActivate
[in] Se TRUE, il riquadro è attivo quando viene visualizzato.
Osservazioni:
Questo metodo mostra o nasconde un riquadro. Usare questo metodo invece di ShowWindow
perché questo metodo notifica ai responsabili di ancoraggio pertinenti le modifiche nella visibilità del riquadro.
Usare CBasePane::IsVisible per determinare la visibilità corrente di un riquadro.
CBasePane::StretchPane
Adatta un riquadro in verticale o in orizzontale.
virtual CSize StretchPane(
int nLength,
BOOL bVert);
Parametri
nLength
[in] Lunghezza in base alla quale estendere il riquadro.
bVert
[in] Se TRUE, estendere il riquadro verticalmente. Se FALSE, estendere il riquadro orizzontalmente.
Valore restituito
Dimensioni del riquadro esteso.
CBasePane::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
Se TRUE, il layout di ancoraggio non viene ricalcolato immediatamente.
Osservazioni:
Chiamare questo metodo per modificare lo stato del riquadro o escludere il riquadro dal layout di ancoraggio.
Se si vuole continuare a usare questo riquadro, chiamare CBasePane::D ockPane o CBasePane::FloatPane prima di chiamare questo metodo.