Classe CMDIFrameWndEx
Estende la funzionalità di CMDIFrameWnd
, una finestra cornice MDI (Multiple Document Interface) di Windows.
Sintassi
class CMDIFrameWndEx : public CMDIFrameWnd
Membri
Metodi pubblici
Nome | Descrizione |
---|---|
CMDIFrameWndEx::ActiveItemRecalcLayout |
Ricalcola il layout dell'elemento attivo. |
CMDIFrameWndEx::AddDockSite |
Questo metodo non viene usato. |
CMDIFrameWndEx::AddPane |
Registra un riquadro con il gestore di ancoraggio. |
CMDIFrameWndEx::AdjustClientArea |
Riduce l'area client per consentire un bordo. |
CMDIFrameWndEx::AdjustDockingLayout |
Ricalcola il layout di tutti i riquadri ancorati. |
CMDIFrameWndEx::AreMDITabs |
Determina se la funzionalità Schede MDI o la funzionalità Gruppi a schede MDI è abilitata. |
CMDIFrameWndEx::CanConvertControlBarToMDIChild |
Chiamato dal framework per determinare se la finestra cornice può convertire i riquadri di ancoraggio in documenti a schede. |
CMDIFrameWndEx::ControlBarToTabbedDocument |
Converte il riquadro di ancoraggio specificato in un documento a schede. |
CMDIFrameWndEx::CreateDocumentWindow |
Crea una finestra del documento figlio. |
CMDIFrameWndEx::CreateNewWindow |
Chiamato dal framework per creare una nuova finestra. |
CMDIFrameWndEx::CreateObject |
Usato dal framework per creare un'istanza dinamica di questo tipo di classe. |
CMDIFrameWndEx::DockPane |
Ancora il riquadro specificato alla finestra cornice. |
CMDIFrameWndEx::DockPaneLeftOf |
Ancora un riquadro a sinistra di un altro riquadro. |
CMDIFrameWndEx::EnableAutoHidePanes |
Abilita la modalità nascondi automaticamente per i riquadri quando vengono ancorati ai lati specificati della finestra cornice principale. |
CMDIFrameWndEx::EnableDocking |
Abilita l'ancoraggio dei riquadri che appartengono alla finestra cornice MDI. |
CMDIFrameWndEx::EnableFullScreenMainMenu |
Mostra o nasconde il menu principale in modalità schermo intero. |
CMDIFrameWndEx::EnableFullScreenMode |
Abilita la modalità schermo intero per la finestra cornice. |
CMDIFrameWndEx::EnableLoadDockState |
Abilita o disabilita il caricamento dello stato di ancoraggio. |
CMDIFrameWndEx::EnableMDITabbedGroups |
Abilita o disabilita la funzionalità Gruppi a schede MDI. |
CMDIFrameWndEx::EnableMDITabs |
Abilita o disabilita la funzionalità Schede MDI. Se abilitata, nella finestra cornice viene visualizzata una scheda per ogni finestra figlio MDI. |
CMDIFrameWndEx::EnableMDITabsLastActiveActivation |
Specifica se l'ultima scheda attiva deve essere attivata quando l'utente chiude la scheda corrente. |
CMDIFrameWndEx::EnablePaneMenu |
Abilita o disabilita la creazione e la gestione automatica del menu del riquadro a comparsa, che visualizza un elenco di riquadri dell'applicazione. |
CMDIFrameWndEx::EnableWindowsDialog |
Inserisce una voce di menu il cui ID comando chiama una CMFCWindowsManagerDialog finestra di dialogo. |
CMDIFrameWndEx::GetActivePopup |
Restituisce un puntatore al menu di scelta rapida attualmente visualizzato. |
CMDIFrameWndEx::GetPane |
Restituisce un puntatore al riquadro con l'ID di controllo specificato. |
CMDIFrameWndEx::GetDefaultResId |
Restituisce l'ID delle risorse condivise della finestra cornice MDI. |
CMDIFrameWndEx::GetMDITabGroups |
Restituisce un elenco di finestre a schede MDI. |
CMDIFrameWndEx::GetMDITabs |
Restituisce un riferimento alla finestra a schede sottolineata. |
CMDIFrameWndEx::GetMDITabsContextMenuAllowedItems |
Restituisce una combinazione di flag che determina quali voci di menu di scelta rapida sono valide quando la funzionalità Gruppi a schede MDI è abilitata. |
CMDIFrameWndEx::GetMenuBar |
Restituisce un puntatore a un oggetto barra dei menu collegato alla finestra cornice. |
CMDIFrameWndEx::GetRibbonBar |
Recupera il controllo barra multifunzione per il frame. |
CMDIFrameWndEx::GetTearOffBars |
Restituisce un elenco di CPane oggetti derivati da che si trovano in uno stato di disinstallazione. |
CMDIFrameWndEx::GetThisClass |
Chiamato dal framework per ottenere un puntatore all'oggetto CRuntimeClass associato a questo tipo di classe. |
CMDIFrameWndEx::GetToolbarButtonToolTipText |
Chiamato dal framework quando l'applicazione visualizza la descrizione comando per un pulsante della barra degli strumenti. |
CMDIFrameWndEx::InsertPane |
Registra il riquadro specificato con il gestore di ancoraggio. |
CMDIFrameWndEx::IsFullScreen |
Determina se la finestra cornice è in modalità schermo intero. |
CMDIFrameWndEx::IsMDITabbedGroup |
Determina se la funzionalità Gruppi a schede MDI è abilitata. |
CMDIFrameWndEx::IsMemberOfMDITabGroup |
Determina se la finestra a schede specificata si trova nell'elenco di finestre presenti in gruppi a schede MDI. |
CMDIFrameWndEx::IsMenuBarAvailable |
Determina se la finestra cornice ha una barra dei menu. |
CMDIFrameWndEx::IsPointNearDockSite |
Determina se un punto specificato si trova vicino al sito di ancoraggio. |
CMDIFrameWndEx::IsPrintPreview |
Determina se la finestra cornice è in modalità anteprima di stampa. |
CMDIFrameWndEx::LoadFrame |
Crea una finestra cornice dalle informazioni sulle risorse. Esegue l'override di CMDIFrameWnd::LoadFrame . |
CMDIFrameWndEx::LoadMDIState |
Carica il layout specificato di gruppi a schede MDI e l'elenco di documenti aperti in precedenza. |
CMDIFrameWndEx::MDITabMoveToNextGroup |
Sposta la scheda attiva dalla finestra a schede attualmente attiva al gruppo a schede successivo o precedente. |
CMDIFrameWndEx::MDITabNewGroup |
Crea un nuovo gruppo a schede con una singola finestra. |
CMDIFrameWndEx::NegotiateBorderSpace |
Negozia lo spazio del bordo in una finestra cornice durante l'attivazione sul posto OLE. |
CMDIFrameWndEx::OnCloseDockingPane |
Chiamato dal framework quando l'utente fa clic sul pulsante Chiudi in un riquadro ancorabile. |
CMDIFrameWndEx::OnCloseMiniFrame |
Chiamato dal framework quando l'utente fa clic sul pulsante Chiudi in una finestra di mini frame mobile. |
CMDIFrameWndEx::OnClosePopupMenu |
Chiamato dal framework quando un menu a comparsa attivo elabora un WM_DESTROY messaggio. |
CMDIFrameWndEx::OnCmdMsg |
Chiamato dal framework per instradare e inviare messaggi di comando e aggiornare gli oggetti dell'interfaccia utente del comando. |
CMDIFrameWndEx::OnDrawMenuImage |
Chiamato dal framework quando viene disegnata l'immagine associata a una voce di menu. |
CMDIFrameWndEx::OnDrawMenuLogo |
Chiamato dal framework quando un CMFCPopupMenu oggetto elabora un WM_PAINT messaggio. |
CMDIFrameWndEx::OnEraseMDIClientBackground |
Chiamato dal framework quando la finestra cornice MDI elabora un WM_ERASEBKGND messaggio. |
CMDIFrameWndEx::OnMenuButtonToolHitTest |
Chiamato dal framework quando un CMFCToolBarButton oggetto elabora un WM_NCHITTEST messaggio. |
CMDIFrameWndEx::OnMoveMiniFrame |
Chiamato dal framework per spostare una finestra mini-frame. |
CMDIFrameWndEx::OnSetPreviewMode |
Imposta la modalità anteprima anteprima della finestra cornice principale dell'applicazione. Esegue l'override di CFrameWnd::OnSetPreviewMode . |
CMDIFrameWndEx::OnShowCustomizePane |
Chiamato dal framework quando viene attivato un riquadro Personalizzazione rapida. |
CMDIFrameWndEx::OnShowMDITabContextMenu |
Chiamato dal framework quando un menu di scelta rapida deve essere visualizzato in una delle schede. Valido solo per i gruppi a schede MDI. |
CMDIFrameWndEx::OnShowPanes |
Chiamato dal framework per visualizzare o nascondere i riquadri. |
CMDIFrameWndEx::OnShowPopupMenu |
Chiamato dal framework durante l'attivazione di un menu a comparsa. |
CMDIFrameWndEx::OnSizeMDIClient |
Chiamato dal framework quando cambiano le dimensioni della finestra MDI del client. |
CMDIFrameWndEx::OnTearOffMenu |
Chiamato dal framework durante l'attivazione di un menu con barra a comparsa. |
CMDIFrameWndEx::OnUpdateFrameMenu |
Chiamato dal framework per aggiornare il menu cornice. Esegue l'override di CMDIFrameWnd::OnUpdateFrameMenu . |
CMDIFrameWndEx::PaneFromPoint |
Restituisce il riquadro di ancoraggio che contiene il punto specificato. |
CMDIFrameWndEx::PreTranslateMessage |
Usato dalla classe CWinApp per convertire i messaggi della finestra prima che vengano inviati alle TranslateMessage funzioni e DispatchMessage Windows. Esegue l'override di CMDIFrameWnd::PreTranslateMessage . |
CMDIFrameWndEx::RecalcLayout |
Chiamato dal framework per ricalcolare il layout della finestra cornice. Esegue l'override di CFrameWnd::RecalcLayout . |
CMDIFrameWndEx::RemovePaneFromDockManager |
Annulla la registrazione di un riquadro e lo rimuove dal gestore di ancoraggio. |
CMDIFrameWndEx::SaveMDIState |
Salva il layout corrente dei gruppi a schede MDI e l'elenco dei documenti aperti in precedenza. |
CMDIFrameWndEx::SetPrintPreviewFrame |
Imposta la finestra cornice di anteprima di stampa. |
CMDIFrameWndEx::SetupToolbarMenu |
Modifica un oggetto barra degli strumenti cercando elementi fittizi e sostituendoli con gli elementi definiti dall'utente specificati. |
CMDIFrameWndEx::ShowFullScreen |
Passa il fotogramma principale dalla modalità normale alla modalità schermo intero. |
CMDIFrameWndEx::ShowPane |
Visualizza o nasconde il riquadro specificato. |
CMDIFrameWndEx::ShowWindowsDialog |
Crea una CMFCWindowsManagerDialog casella e la apre. |
CMDIFrameWndEx::TabbedDocumentToControlBar |
Converte il documento a schede specificato in un riquadro di ancoraggio. |
CMDIFrameWndEx::UpdateCaption |
Chiamato dal framework per aggiornare la didascalia della cornice della finestra. |
CMDIFrameWndEx::UpdateMDITabbedBarsIcons |
Imposta l'icona per ogni riquadro a schede MDI. |
CMDIFrameWndEx::WinHelp |
Chiamato dal framework per avviare l'applicazione WinHelp o la Guida sensibile al contesto. Esegue l'override di CWnd::WinHelp . |
Membri di dati
Nome | Descrizione |
---|---|
CMDIFrameWndEx::m_bCanConvertControlBarToMDIChild |
Determina se i riquadri di ancoraggio possono essere convertiti in finestre figlio MDI. |
CMDIFrameWndEx::m_bDisableSetRedraw |
Abilita o disabilita l'ottimizzazione del ridisegno per le finestre figlio MDI. |
Osservazioni:
Per sfruttare i vantaggi delle funzionalità di personalizzazione estese nell'applicazione MDI, derivare la classe della finestra cornice MDI dell'applicazione da anziché CMDIFrameWnd
da CMDIFrameWndEx
.
Esempio
Nell'esempio seguente viene derivata una classe da CMDIFrameWndEx
. Questo frammento di codice deriva dall'applicazione drawClient Sample: MFC Ribbon-Based OLE Object Drawing Application.
class CMainFrame : public CMDIFrameWndEx
{
DECLARE_DYNAMIC(CMainFrame)
public:
struct XStyle
{
COLORREF clrFill;
COLORREF clrLine;
};
public:
CMainFrame();
// Attributes
public:
CMFCRibbonBar *GetRibbonBar() { return &m_wndRibbonBar; }
// Operations
public:
void UpdateUI(CDrawView *pCurrView);
void UpdateContextTab(CDrawView *pCurrView);
void UpdateContextTabFromObject(CDrawObjList &list);
COLORREF GetColorFromColorButton(int nButtonID);
int GetWeightFromLineWeight(int nButtonID);
BOOL GetStyleFromStyles(XStyle &style);
void SetRibbonContextCategory(UINT uiCategoryID);
void ActivateRibbonContextCategory(UINT uiCategoryID);
// Implementation
public:
virtual ~CMainFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext &dc) const;
#endif
protected:
// control bar embedded members
CMFCRibbonStatusBar m_wndStatusBar;
CMFCRibbonBar m_wndRibbonBar;
CMFCRibbonApplicationButton m_MainButton;
// panel images
CMFCToolBarImages m_PanelImages;
// Document colors for demo:
CList<COLORREF, COLORREF> m_lstMainColors;
CList<COLORREF, COLORREF> m_lstAdditionalColors;
CList<COLORREF, COLORREF> m_lstStandardColors;
// Generated message map functions
protected:
//{{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnAppLook(UINT id);
afx_msg void OnUpdateAppLook(CCmdUI *pCmdUI);
afx_msg void OnWindowManager();
afx_msg void OnMdiMoveToNextGroup();
afx_msg void OnMdiMoveToPrevGroup();
afx_msg void OnMdiNewHorzTabGroup();
afx_msg void OnMdiNewVertGroup();
afx_msg void OnMdiCancel();
afx_msg LRESULT OnRibbonCustomize(WPARAM wp, LPARAM lp);
afx_msg LRESULT OnHighlightRibbonListItem(WPARAM wp, LPARAM lp);
afx_msg void OnToolsOptions();
afx_msg void OnDummy();
afx_msg void OnSysColorChange();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
virtual BOOL OnShowMDITabContextMenu(CPoint point, DWORD dwAllowedItems, BOOL bDrop);
virtual BOOL OnShowPopupMenu(CMFCPopupMenu *pMenuPopup);
void ShowOptions(int nPage);
void CreateDocumentColors();
private:
BOOL CreateRibbonBar();
BOOL CreateStatusBar();
void InitMainButton();
void InitHomeCategory();
void InitViewCategory();
void InitTabButtons();
void AddContextTab_Format();
void AdjustObjectSubmenu(CMFCPopupMenu *pMenuPopup);
void UpdateStatusBarCountPane(int nID, CString strText, int nCount);
UINT m_nAppLook;
};
Gerarchia di ereditarietà
Requisiti
Intestazione: afxMDIFrameWndEx.h
CMDIFrameWndEx::ActiveItemRecalcLayout
Ricalcola il layout dell'elemento attivo.
void ActiveItemRecalcLayout();
CMDIFrameWndEx::AddPane
Registra un riquadro con il gestore di ancoraggio.
BOOL AddPane(
CBasePane* pControlBar,
BOOL bTail=TRUE);
Parametri
pControlBar
[in] Puntatore al riquadro da registrare.
bTail
[in] Specifica se aggiungere questo riquadro alla fine dell'elenco.
Valore restituito
Restituisce un valore diverso da zero se il riquadro è registrato correttamente. Restituisce 0 se il riquadro è già registrato con il gestore di ancoraggio.
Osservazioni:
Ogni riquadro deve essere registrato con la CDockingManager
classe prima di poter partecipare al layout di ancoraggio. Usa questo metodo per notificare al gestore di ancoraggio che vuoi ancorare un riquadro specifico. Una volta registrato il riquadro, il gestore di ancoraggio lo allinea in base all'impostazione di allineamento e alla posizione nell'elenco dei riquadri gestiti dal gestore di ancoraggio.
CMDIFrameWndEx::AdjustClientArea
Riduce l'area client per consentire un bordo.
virtual void AdjustClientArea();
CMDIFrameWndEx::AdjustDockingLayout
Ricalcola il layout di tutti i riquadri ancorati.
virtual void AdjustDockingLayout(HDWP hdwp=NULL);
Parametri
hdwp
[in] Identifica la struttura con più finestre. È possibile ottenere questo valore chiamando BeginDeferWindowPos
.
Osservazioni:
Chiamare questa funzione membro per ricalcolare il layout di tutti i riquadri ancorati alla finestra cornice.
CMDIFrameWndEx::AreMDITabs
Determina se la funzionalità schede MDI o la funzionalità gruppi a schede MDI è abilitata.
BOOL AreMDITabs(int* pnMDITabsType=NULL) const;
Parametri
pnMDITabsType
[out] Puntatore a una variabile integer che indica quali funzionalità sono abilitate:
- 0: tutte le funzionalità sono disabilitate.
- 1: le schede MDI sono abilitate.
- 2: i gruppi a schede MDI sono abilitati.
Valore restituito
Restituisce TRUE
se sono abilitate le schede MDI o i gruppi a schede MDI.
Restituisce FALSE
se nessuna delle funzionalità precedenti è abilitata.
Osservazioni:
Utilizzare questa funzione per determinare se le schede MDI o i gruppi a schede MDI sono abilitati per la finestra cornice. Usare CMDIFrameWndEx::EnableMDITabs
per abilitare o disabilitare la funzionalità schede MDI.
Usare CMDIFrameWndEx::EnableMDITabbedGroups
per abilitare o disabilitare la funzionalità gruppi a schede MDI.
CMDIFrameWndEx::CanConvertControlBarToMDIChild
Chiamato dal framework per determinare se la finestra cornice può convertire i riquadri di ancoraggio in documenti a schede
virtual BOOL CanConvertControlBarToMDIChild();
Valore restituito
Restituisce TRUE
se la finestra cornice può convertire i riquadri di ancoraggio in documenti a schede; in caso contrario, restituisce FALSE
.
Osservazioni:
Eseguire l'override di questo metodo in una classe derivata e tornare TRUE
per consentire la conversione dei riquadri di ancoraggio in documenti a schede. In alternativa, è possibile impostare su CMDIFrameWndEx::m_bCanConvertControlBarToMDIChild
TRUE
.
CMDIFrameWndEx::ControlBarToTabbedDocument
Converte il riquadro di ancoraggio specificato in un documento a schede.
virtual CMDIChildWndEx* ControlBarToTabbedDocument(CDockablePane* pBar);
Parametri
pBar
Puntatore al riquadro di ancoraggio da convertire.
Valore restituito
Restituisce un puntatore alla nuova finestra figlio MDI contenente il riquadro di ancoraggio.
Osservazioni:
Questo metodo converte un riquadro di ancoraggio in un documento a schede. Quando si chiama questo metodo, il framework crea un CMDIChildWndEx
oggetto classe , rimuove il riquadro di ancoraggio dal gestore di ancoraggio e aggiunge il riquadro di ancoraggio alla nuova finestra figlio MDI. La finestra figlio MDI ridimensiona il riquadro di ancoraggio per coprire l'intera area client
CMDIFrameWndEx::CreateDocumentWindow
Crea una finestra del documento figlio.
virtual CMDIChildWndEx* CreateDocumentWindow(
LPCTSTR lpcszDocName,
CObject* pObj);
Parametri
lpcszDocName
[in] Stringa di testo che contiene un identificatore di documento. In genere, è il percorso completo di un file di documento.
pObj
[in] Puntatore a un oggetto definito dall'utente. Ad esempio, uno sviluppatore può creare una struttura di dati specifica dell'applicazione che descrive il documento e indicare come inizializzare il documento all'avvio.
Valore restituito
Puntatore a CMDIChildWndEx
.
Osservazioni:
Il framework chiama questo metodo quando carica l'elenco di documenti salvati in precedenza nel Registro di sistema.
Eseguire l'override di questo metodo per creare documenti quando vengono caricati dal Registro di sistema.
Esempio
L'esempio seguente illustra come CreateDocumentWindow
viene usato nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
In questo esempio, g_strStartViewName
potrebbe essere il nome di un "documento virtuale" (ad esempio, "Pagina iniziale") che non viene caricato da un file su disco. Pertanto, è necessaria un'elaborazione speciale per gestire tale caso.
CMainFrame::CMainFrame()
{
CMFCPopupMenu::SetForceShadow(TRUE);
m_bCanConvertControlBarToMDIChild = TRUE;
}
CMDIFrameWndEx::CreateNewWindow
Chiamato dal framework per creare una nuova finestra.
virtual CMDIChildWndEx* CreateNewWindow(
LPCTSTR lpcszDocName,
CObject* pObj);
Parametri
lpcszDocName
[in] Nome del documento.
pObj
[in] Riservato per uso futuro.
Valore restituito
Puntatore alla nuova finestra.
CMDIFrameWndEx::DockPane
Ancora il riquadro specificato alla finestra cornice.
void DockPane(
CBasePane* pBar,
UINT nDockBarID=0,
LPCRECT lpRect=NULL);
Parametri
pBar
[in] Puntatore al riquadro da ancorare.
nDockBarID
[in] Specifica i lati della finestra cornice a cui ancorare.
lpRect
[in] Non utilizzato.
Osservazioni:
Questo metodo ancora il riquadro specificato a uno dei lati della finestra cornice specificata, specificato quando CBasePane::EnableDocking
e CMDIFrameWndEx::EnableDocking
sono stati chiamati.
Esempio
Nell'esempio seguente viene illustrato l'uso del metodo DockPane
. Questo frammento di codice proviene dall'esempio di VisualStudioDemo: Applicazione Visual Studio MFC.
DockPane(&m_wndMenuBar);
DockPane(&m_wndToolBar);
DockPane(&m_wndPropertiesBar);
DockPane(&m_wndToolbarBuild);
CMDIFrameWndEx::DockPaneLeftOf
Ancora un riquadro a sinistra di un altro riquadro.
BOOL DockPaneLeftOf(
CPane* pBar,
CPane* pLeftOf);
Parametri
pBar
[in] Puntatore al riquadro di ancoraggio.
pLeftOf
[in] Puntatore al riquadro che funge da sito di ancoraggio.
Valore restituito
Restituisce TRUE
se l'operazione ha esito positivo. In caso contrario restituisce FALSE
.
Osservazioni:
Chiamare questo metodo per ancorare diversi oggetti riquadro in un ordine predefinito. Questo metodo ancora il riquadro specificato da pBar
a sinistra del riquadro specificato da pLeftOf
.
Esempio
L'esempio seguente illustra come viene usato il DockPaneLeftOf
metodo nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
DockPane(&m_wndToolbarBuild);
DockPaneLeftOf(&m_wndToolbarEdit, &m_wndToolbarBuild);
CMDIFrameWndEx::EnableAutoHidePanes
Abilita la modalità nascondi automaticamente per i riquadri quando sono ancorati ai lati specificati della finestra cornice principale.
BOOL EnableAutoHidePanes(DWORD dwDockStyle);
Parametri
dwDockStyle
[in] Specifica i lati della finestra cornice principale che verrà abilitata. Usare uno o più flag seguenti.
CBRS_ALIGN_LEFT
CBRS_ALIGN_RIGHT
CBRS_ALIGN_TOP
CBRS_ALIGN_BOTTOM
Valore restituito
Chiamare questa funzione per abilitare la modalità nascondi automaticamente per i riquadri quando sono ancorati ai lati specificati della finestra cornice principale.
Esempio
L'esempio seguente illustra come viene usato il EnableAutoHidePanes
metodo nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
EnableAutoHidePanes(CBRS_ALIGN_ANY);
Osservazioni:
CMDIFrameWndEx::EnableDocking
Abilita l'ancoraggio dei riquadri che appartengono alla finestra cornice MDI.
BOOL EnableDocking(DWORD dwDockStyle);
Parametri
dwDockStyle
[in] Specifica lo stile di ancoraggio da applicare.
Valore restituito
Osservazioni:
Chiamare questa funzione per abilitare l'ancoraggio dei riquadri che appartengono all'oggetto CMDIFrameWndEx
.
Esempio
L'esempio seguente illustra come viene usato il EnableDocking
metodo nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
EnableDocking(CBRS_ALIGN_ANY);
CMDIFrameWndEx::EnableFullScreenMainMenu
Mostra o nasconde il menu principale in modalità schermo intero.
void EnableFullScreenMainMenu(BOOL bEnableMenu);
Parametri
bEnableMenu
[in] TRUE
per visualizzare il menu principale in modalità schermo intero o FALSE
per nasconderlo.
Osservazioni:
CMDIFrameWndEx::EnableFullScreenMode
Abilita la modalità schermo intero per la finestra cornice.
void EnableFullScreenMode(UINT uiFullScreenCmd);
Parametri
uiFullScreenCmd
[in] ID di un comando che abilita o disabilita la modalità schermo intero.
Osservazioni:
In modalità schermo intero, tutte le barre di controllo di ancoraggio, le barre degli strumenti e i menu sono nascosti e la visualizzazione attiva viene ridimensionata per occupare l'intero schermo. Quando si abilita la modalità schermo intero, è necessario specificare un ID del comando che lo abilita o lo disabilita. È possibile chiamare EnableFullScreenMode
dalla funzione del OnCreate
frame principale. Quando una finestra cornice passa alla modalità schermo intero, il framework crea una barra degli strumenti mobile con un pulsante con l'ID comando specificato. Se si desidera mantenere il menu principale sullo schermo, chiamare CMDIFrameWndEx::EnableFullScreenMainMenu
.
CMDIFrameWndEx::EnableLoadDockState
Abilita o disabilita il caricamento dello stato di ancoraggio.
void EnableLoadDockState(BOOL bEnable = TRUE);
Parametri
bEnable
[in] TRUE
per abilitare il caricamento dello stato di ancoraggio, FALSE
per disabilitare il caricamento dello stato di ancoraggio.
Osservazioni:
CMDIFrameWndEx::EnableMDITabbedGroups
Abilita o disabilita la funzionalità gruppi a schede MDI per la finestra cornice.
void EnableMDITabbedGroups(
BOOL bEnable,
const CMDITabInfo& params);
Parametri
bEnable
[in] Se TRUE
, la funzionalità gruppi a schede MDI è abilitata; se FALSE
, la funzionalità gruppi a schede MDI è disabilitata.
params
[in] Specifica i parametri applicati dal framework alle finestre figlio create nell'area client MDI.
Osservazioni:
Usare questo metodo per abilitare o disabilitare la funzionalità gruppi a schede MDI. Questa funzionalità consente alle applicazioni MDI di visualizzare le finestre figlio come finestre a schede allineate verticalmente o orizzontalmente all'interno dell'area client MDI. I gruppi di finestre a schede sono separati da barre di divisione. L'utente può ridimensionare i gruppi a schede usando un separatore.
L'utente può:
- Trascinare singole schede tra gruppi.
- Trascinare singole schede sul bordo della finestra per creare nuovi gruppi.
- Spostare le schede o creare nuovi gruppi usando un menu di scelta rapida.
- L'applicazione può salvare il layout corrente delle finestre a schede e l'elenco dei documenti attualmente aperti.
Se si chiama questo metodo con bEnable
impostato su FALSE
, params
viene ignorato.
Anche se i gruppi a schede MDI sono già abilitati, è possibile chiamare di nuovo questo metodo per modificare le impostazioni per le finestre figlio. Chiamare il metodo con bEnable
impostato su TRUE
e modificare i membri dell'oggetto CMDITabInfo
specificati dal params
parametro .
Per altre informazioni su come usare i gruppi a schede MDI, vedere Gruppi a schede MDI.
Esempio
L'esempio seguente illustra come EnableMDITabbedGroups
viene usato nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
CMDITabInfo mdiTabParams;
mdiTabParams.m_bTabCustomTooltips = TRUE;
if (bMDITabsVS2005Look)
{
mdiTabParams.m_style = CMFCTabCtrl::STYLE_3D_VS2005;
mdiTabParams.m_bDocumentMenu = TRUE;
}
else if (bOneNoteTabs)
{
mdiTabParams.m_style = CMFCTabCtrl::STYLE_3D_ONENOTE;
mdiTabParams.m_bAutoColor = bMDITabColors;
}
if (bActiveTabCloseButton)
{
mdiTabParams.m_bTabCloseButton = FALSE;
mdiTabParams.m_bActiveTabCloseButton = TRUE;
}
EnableMDITabbedGroups(TRUE, mdiTabParams);
CMDIFrameWndEx::EnableMDITabs
Abilita o disabilita la funzionalità Schede MDI per la finestra cornice MDI. Se abilitata, nella finestra cornice viene visualizzata una scheda per ogni finestra figlio MDI.
void EnableMDITabs(
BOOL bEnable=TRUE,
BOOL bIcons=TRUE,
CMFCTabCtrl::Location tabLocation=CMFCTabCtrl::LOCATION_BOTTOM,
BOOL bTabCloseButton=FALSE,
CMFCTabCtrl::Style style=CMFCTabCtrl::STYLE_3D_SCROLLED,
BOOL bTabCustomTooltips=FALSE,
BOOL bActiveTabCloseButton=FALSE);
Parametri
bEnable
Specifica se le schede sono abilitate.
bIcons
Specifica se le icone devono essere visualizzate nelle schede.
tabLocation
Specifica il percorso delle etichette delle schede.
bTabCloseButton
Specifica se visualizzare i pulsanti di chiusura della scheda.
style
Specifica lo stile delle schede. Usare STYLE_3D_SCROLLED
per le schede normali o STYLE_3D_ONENOTE
per le schede di Microsoft OneNote.
bTabCustomTooltips
Specifica se le descrizioni comando personalizzate sono abilitate.
bActiveTabCloseButton
Se TRUE
, nella scheda attiva verrà visualizzato un pulsante Chiudi anziché nell'angolo destro dell'area della scheda.
Osservazioni:
Chiamare questo metodo per abilitare o disabilitare la funzionalità schede MDI per la finestra cornice MDI. Se abilitata, tutte le finestre figlio vengono visualizzate come schede.
Le etichette di tabulazione possono trovarsi nella parte superiore o inferiore del frame, a seconda dell'impostazione del parametro tabLocation
. È possibile specificare CMFCTabCtrl::LOCATION_BOTTOM
(impostazione predefinita) o CMFCTabCtrl::LOCATION_TOP
.
Se bTabCustomTooltips
è TRUE
, verrà inviato un AFX_WM_ON_GET_TAB_TOOLTIP
messaggio alla finestra cornice principale. Il codice può gestire questo messaggio e fornire al framework descrizioni comando personalizzate per le schede MDI.
Esempio
L'esempio seguente illustra come EnableMDITabs
viene usato nell'esempio MDITabsDemo: applicazione MDI a schede MFC.
void CMainFrame::UpdateMDITabs(BOOL bResetMDIChild)
{
CMDITabInfo params;
HWND hwndActive = NULL;
switch (theApp.m_Options.m_nMDITabsType)
{
case CMDITabOptions::None:
{
BOOL bCascadeMDIChild = FALSE;
if (IsMDITabbedGroup())
{
EnableMDITabbedGroups(FALSE, params);
bCascadeMDIChild = TRUE;
}
else if (AreMDITabs())
{
EnableMDITabs(FALSE);
bCascadeMDIChild = TRUE;
}
if (bCascadeMDIChild)
{
// CMDIClientAreaWnd m_wndClientArea
hwndActive = (HWND)m_wndClientArea.SendMessage(WM_MDIGETACTIVE);
m_wndClientArea.PostMessage(WM_MDICASCADE);
m_wndClientArea.UpdateTabs(false);
m_wndClientArea.SetActiveTab(hwndActive);
::BringWindowToTop(hwndActive);
}
}
break;
case CMDITabOptions::MDITabsStandard:
hwndActive = (HWND)m_wndClientArea.SendMessage(WM_MDIGETACTIVE);
m_wndClientArea.PostMessage(WM_MDIMAXIMIZE, LPARAM(hwndActive), 0L);
::BringWindowToTop(hwndActive);
EnableMDITabs(TRUE, theApp.m_Options.m_bMDITabsIcons, theApp.m_Options.m_bTabsOnTop ? CMFCTabCtrl::LOCATION_TOP : CMFCTabCtrl::LOCATION_BOTTOM, theApp.m_Options.m_nTabsStyle);
GetMDITabs().EnableAutoColor(theApp.m_Options.m_bTabsAutoColor);
GetMDITabs().EnableTabDocumentsMenu(theApp.m_Options.m_bMDITabsDocMenu);
GetMDITabs().EnableTabSwap(theApp.m_Options.m_bDragMDITabs);
GetMDITabs().SetTabBorderSize(theApp.m_Options.m_nMDITabsBorderSize);
GetMDITabs().SetFlatFrame(theApp.m_Options.m_bFlatFrame);
GetMDITabs().EnableCustomToolTips(theApp.m_Options.m_bCustomTooltips);
GetMDITabs().EnableCustomToolTips(theApp.m_Options.m_bCustomTooltips);
GetMDITabs().EnableActiveTabCloseButton(theApp.m_Options.m_bActiveTabCloseButton);
break;
CMDIFrameWndEx::EnableMDITabsLastActiveActivation
Specifica se l'ultima scheda attiva deve essere aperta quando l'utente chiude la scheda corrente.
void EnableMDITabsLastActiveActivation(BOOL bLastActiveTab=TRUE);
Parametri
bLastActiveTab
[in] Se TRUE
, abilitare l'attivazione dell'ultima scheda attiva. Se FALSE
, disabilitare l'attivazione dell'ultima scheda attiva.
Osservazioni:
Quando la scheda attiva viene chiusa, è possibile aprire una scheda in due modi:
- Attivare la scheda successiva.
- Attivare la scheda attiva in precedenza.
L'implementazione predefinita usa il primo modo.
Usare EnableMDITabsLastActiveActivation
per abilitare il secondo modo di attivazione tramite tabulazione. Emula il modo in cui Windows apre finestre figlio MDI.
CMDIFrameWndEx::EnablePaneMenu
Abilita o disabilita la creazione e la gestione automatica del menu del riquadro a comparsa, che visualizza un elenco di riquadri dell'applicazione.
void EnablePaneMenu(
BOOL bEnable,
UINT uiCustomizeCmd,
const CString& strCustomizeLabel,
UINT uiViewToolbarsMenuEntryID,
BOOL bContextMenuShowsToolbarsOnly=FALSE,
BOOL bViewMenuShowsToolbarsOnly=FALSE);
Parametri
bEnable
[in] Se TRUE
, la gestione automatica del menu del riquadro è abilitata; se FALSE
, la gestione automatica è disabilitata.
uiCustomizeCmd
[in] ID comando della voce di menu Personalizza . Questa voce di menu viene in genere aggiunta alla fine dell'elenco dei riquadri.
strCustomizeLabel
[in] Testo da visualizzare per la voce di menu Personalizza (per la localizzazione).
uiViewToolbarsMenuEntryID
[in] Specifica l'ID di una voce di menu della barra degli strumenti che apre il menu del riquadro. In genere si tratta del sottomenu Barre degli strumenti del menu Visualizza .
bContextMenuShowsToolbarsOnly
[in] Se TRUE
, il menu del riquadro visualizza solo un elenco di barre degli strumenti. Se FALSE
, il menu visualizza un elenco di barre degli strumenti e barre di ancoraggio.
bViewMenuShowsToolbarsOnly
[in] Se TRUE
, il menu del riquadro visualizza solo un elenco di barre degli strumenti. Se FALSE
, il menu visualizza un elenco di barre degli strumenti e barre di ancoraggio.
Osservazioni:
Il menu del riquadro a comparsa visualizza l'elenco dei riquadri dell'applicazione e consente all'utente di visualizzare o nascondere singoli riquadri.
Esempio
L'esempio seguente illustra come EnablePaneMenu
viene usato nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
// Enable pane context menu(list of bars + customize command):
EnablePaneMenu(TRUE, ID_VIEW_CUSTOMIZE, _T("Customize..."), ID_VIEW_TOOLBARS, FALSE, TRUE);
CMDIFrameWndEx::EnableWindowsDialog
Inserisce una voce di menu il cui ID comando chiama una CMFCWindowsManagerDialog
finestra di dialogo.
void EnableWindowsDialog(
UINT uiMenuId,
LPCTSTR lpszMenuText,
BOOL bShowAllways=FALSE,
BOOL bShowHelpButton=FALSE);
void EnableWindowsDialog(
UINT uiMenuId,
UINT uiMenuTextResId,
BOOL bShowAllways=FALSE,
BOOL bShowHelpButton=FALSE);
Parametri
uiMenuId
[in] Specifica l'ID risorsa di un menu.
lpszMenuText
[in] Specifica il testo dell'elemento.
bShowHelpButton
[in] Specifica se visualizzare un pulsante ? nella finestra di dialogo di gestione di Windows.
uiMenuTextResId
[in] Identificatore di risorsa stringa che contiene la stringa di testo dell'elemento.
Osservazioni:
Utilizzare questo metodo per inserire una voce di menu il cui comando chiama una finestra di dialogo di gestione delle finestre figlio MDI ( CMFCWindowsManagerDialog
classe ). Il nuovo elemento viene inserito nel menu specificato da uiMenuId
. Chiamare EnableWindowsDialog
quando si elabora il WM_CREATE
messaggio.
Esempio
L'esempio seguente illustra come EnableWindowsDialog
viene usato nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
// Enable windows manager:
EnableWindowsDialog(ID_WINDOW_MANAGER, _T("Windows..."), TRUE);
CMDIFrameWndEx::GetActivePopup
Restituisce un puntatore al menu di scelta rapida attualmente visualizzato.
CMFCPopupMenu* GetActivePopup() const;
Valore restituito
Puntatore al menu popup attivo; NULL
se non è attivo alcun menu popup.
Osservazioni:
Utilizzare questa funzione per ottenere un puntatore all'oggetto CMFCPopupMenu
classe attualmente visualizzato.
CMDIFrameWndEx::GetDefaultResId
Restituisce l'ID delle risorse condivise della finestra cornice MDI.
UINT GetDefaultResId() const;
Valore restituito
Valore ID risorsa. 0 se la finestra cornice non ha alcuna barra dei menu.
Osservazioni:
Questo metodo restituisce l'ID risorsa specificato quando la finestra cornice MDI è stata caricata da CFrameWnd::LoadFrame
.
CMDIFrameWndEx::GetMDITabGroups
Restituisce un elenco di finestre a schede MDI.
const CObList& GetMDITabGroups() const;
Valore restituito
Riferimento a un CObList
oggetto classe che contiene un elenco di finestre a schede. Non archiviare o modificare l'elenco.
Osservazioni:
Utilizzare questo metodo per accedere all'elenco di finestre a schede. Può essere utile se si desidera modificare o eseguire query su alcuni parametri di singole finestre a schede.
CMDIFrameWndEx::GetMDITabs
Restituisce un riferimento alla finestra a schede sottolineata.
CMFCTabCtrl& GetMDITabs();
Valore restituito
Riferimento alla finestra a schede sottolineata.
CMDIFrameWndEx::GetMDITabsContextMenuAllowedItems
Restituisce una combinazione di flag che determina quali operazioni sono valide quando la funzionalità Gruppi a schede MDI è abilitata.
DWORD GetMDITabsContextMenuAllowedItems();
Valore restituito
Combinazione bit per bit "or" (|
) dei flag seguenti:
AFX_MDI_CREATE_VERT_GROUP
: può creare un gruppo di schede verticali.AFX_MDI_CREATE_HORZ_GROUP
: può creare un gruppo di schede orizzontali.AFX_MDI_CAN_MOVE_PREV
- può spostare una scheda nel gruppo di schede precedente.AFX_MDI_CAN_MOVE_NEXT
: può spostare una scheda nel gruppo di schede successivo.
Osservazioni:
Quando la funzionalità Gruppi a schede MDI è abilitata, è necessario conoscere le operazioni consentite nelle schede di una determinata finestra. Questo metodo analizza il layout corrente delle finestre a schede e restituisce una combinazione di flag che possono essere usati per compilare, ad esempio, un menu di scelta rapida.
È possibile creare un nuovo gruppo di schede verticali quando tutte le finestre a schede sono allineate verticalmente o quando è presente una sola finestra a schede.
È possibile creare un nuovo gruppo di schede orizzontali quando tutte le finestre a schede sono allineate orizzontalmente o quando è presente una sola finestra a schede.
È possibile spostare una scheda nel gruppo precedente solo se sono presenti più schede in una finestra a schede.
È possibile spostare una scheda nel gruppo successivo solo se sono presenti più schede in una finestra a schede.
CMDIFrameWndEx::GetMenuBar
Restituisce un puntatore a un oggetto barra dei menu collegato alla finestra cornice.
const CMFCMenuBar* GetMenuBar() const;
Valore restituito
Puntatore a un oggetto barra dei menu.
CMDIFrameWndEx::GetPane
Restituisce un puntatore al riquadro con l'ID di controllo specificato.
CBasePane* GetPane(UINT nID);
Parametri
nID
[in] ID del controllo.
Valore restituito
Puntatore al riquadro con l'ID di controllo specificato, se presente. In caso contrario, NULL
.
CMDIFrameWndEx::GetRibbonBar
Recupera il controllo barra multifunzione per il frame.
CMFCRibbonBar* GetRibbonBar();
Valore restituito
Puntatore alla CMFCRibbonBar
classe per il frame.
Osservazioni:
CMDIFrameWndEx::GetTearOffBars
Restituisce un elenco di menu di disinstallazione.
const CObList& GetTearOffBars() const;
Valore restituito
Riferimento a un CObList
oggetto classe che contiene una raccolta di puntatori a CPane
oggetti derivati da che si trovano in uno stato di strappo.
Osservazioni:
CMDIFrameWndEx
mantiene una raccolta di menu a strappo. Utilizzare questo metodo per recuperare un riferimento a questo elenco.
CMDIFrameWndEx::GetToolbarButtonToolTipText
Chiamato dal framework quando l'applicazione visualizza la descrizione comando per un pulsante della barra degli strumenti.
virtual BOOL GetToolbarButtonToolTipText(
CMFCToolBarButton* pButton,
CString& strTTText);
Parametri
pButton
[in] Puntatore a un pulsante della barra degli strumenti.
strTTText
[in] Testo della descrizione comando da visualizzare per il pulsante.
Valore restituito
TRUE
se la descrizione comando è stata visualizzata. In caso contrario, FALSE
.
Osservazioni:
CMDIFrameWndEx::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 prima o dopo il quale inserire il riquadro.
bAfter
[in] Se TRUE
, pControlBar
viene inserito dopo pTarget
. Se FALSE
, pControlBar
viene inserito prima pTarget
di .
Valore restituito
TRUE
se il metodo registra correttamente il riquadro, FALSE
se il riquadro è già stato registrato con il gestore di ancoraggio.
Osservazioni:
Usare questo metodo per indicare al gestore di ancoraggio informazioni su un riquadro specificato da pControlBar
. Il gestore di ancoraggio allinea questo riquadro in base all'allineamento e alla posizione del riquadro nell'elenco interno del gestore di ancoraggio.
CMDIFrameWndEx::IsFullScreen
Determina se la finestra cornice è in modalità schermo intero.
BOOL IsFullScreen() const;
Valore restituito
TRUE
se la finestra cornice è in modalità schermo intero; in caso contrario FALSE
, .
Osservazioni:
È possibile impostare la modalità schermo intero chiamando il CMDIFrameWndEx::EnableFullScreenMode
metodo .
CMDIFrameWndEx::IsMDITabbedGroup
Specifica se la funzionalità Gruppi a schede MDI è abilitata.
BOOL IsMDITabbedGroup() const;
Valore restituito
TRUE
se la funzionalità Gruppi a schede MDI è abilitata; in caso contrario FALSE
, .
Osservazioni:
Per determinare se è abilitata la normale scheda MDI o la funzionalità Gruppi a schede MDI, usare CMDIFrameWndEx::AreMDITabs
.
CMDIFrameWndEx::IsMemberOfMDITabGroup
Determina se la finestra a schede specificata si trova nell'elenco di finestre presenti in gruppi a schede MDI.
BOOL IsMemberOfMDITabGroup(CWnd* pWnd);
Parametri
pWnd
[in] Puntatore alla finestra a schede.
Valore restituito
TRUE
se la finestra a schede specificata si trova nell'elenco di finestre a schede che formano gruppi a schede MDI. In caso contrario, FALSE
.
CMDIFrameWndEx::IsMenuBarAvailable
Determina se la finestra cornice ha una barra dei menu.
BOOL IsMenuBarAvailable() const;
Valore restituito
TRUE
se il puntatore all'oggetto barra dei menu non NULL
è ; in caso contrario FALSE
, .
CMDIFrameWndEx::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 nelle coordinate dello schermo.
dwBarAlignment
[in] Specifica il bordo vicino al punto. I valori possibili sono CBRS_ALIGN_LEFT
, CBRS_ALIGN_RIGHT
, CBRS_ALIGN_TOP
e CBRS_ALIGN_BOTTOM
bOuterEdge
[in] TRUE
se il punto si trova vicino al bordo esterno del sito di ancoraggio; FALSE
altrimenti.
Valore restituito
TRUE
se il punto è 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.
CMDIFrameWndEx::IsPrintPreview
Determina se la finestra cornice è in modalità anteprima di stampa.
BOOL IsPrintPreview();
Valore restituito
TRUE
se la finestra cornice è in modalità anteprima di stampa; in caso contrario, FALSE
.
Osservazioni:
CMDIFrameWndEx::LoadFrame
Crea una finestra cornice dalle informazioni sulle risorse.
virtual BOOL LoadFrame(
UINT nIDResource,
DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE,
CWnd* pParentWnd = NULL,
CCreateContext* pContext = NULL);
Parametri
nIDResource
[in] ID di una risorsa condivisa associata alla finestra cornice.
dwDefaultStyle
[in] Stile della finestra cornice.
pParentWnd
[in] Puntatore all'elemento padre del frame.
pContext
[in] Puntatore a una CCreateContext
struttura. Questo parametro può essere NULL
.
Valore restituito
TRUE
se il metodo ha esito positivo; in caso contrario FALSE
, .
CMDIFrameWndEx::LoadMDIState
Carica il layout specificato di gruppi a schede MDI e l'elenco di documenti aperti in precedenza.
virtual BOOL LoadMDIState(LPCTSTR lpszProfileName);
Parametri
lpszProfileName
[in] Specifica il nome del profilo.
Valore restituito
TRUE
se il carico è riuscito; FALSE
se il caricamento non è riuscito o non sono presenti dati da caricare.
Osservazioni:
Per caricare o salvare lo stato delle schede e dei gruppi MDI e l'elenco di documenti aperti, eseguire le operazioni seguenti:
- Chiamare
CMDIFrameWndEx::SaveMDIState
quando il frame principale viene chiuso - Chiamare
CMDIFrameWndEx::LoadMDIState
quando viene creato il frame principale. Il luogo consigliato per questa chiamata è prima che il fotogramma principale venga visualizzato per la prima volta. AggiungiCWinAppEx::EnableLoadWindowPlacement
(FALSE);
prima dipMainFrame->LoadFrame (IDR_MAINFRAME);.
AggiungereCWinAppEx::ReloadWindowPlacement
(pMainFrame);
dopo la chiamata a perLoadMDIState
visualizzare il frame principale nella posizione archiviata nel Registro di sistema. - Eseguire l'override
GetDocumentName
nellaCMDIChildWndEx
classe derivata se l'applicazione visualizza documenti non archiviati come file. La stringa restituita verrà salvata nel Registro di sistema come identificatore del documento. L'implementazione di base diCMDIChildWndEx::GetDocumentName
restituisce un valore ottenuto daCDocument::GetPathName
. - Eseguire l'override
CMDIFrameWndEx::CreateDocumentWindow
per creare correttamente i documenti quando vengono caricati dal Registro di sistema. Il primo parametro è la stringa restituitaGetDocumentName
.
Esempio
L'esempio seguente illustra come LoadMDIState
viene usato nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
if (cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew)
{
if (!pMainFrame->LoadMDIState(GetRegSectionPath()))
{
m_pStartDocTemplate->OpenDocumentFile(NULL);
}
}
else
{
// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
{
return FALSE;
}
}
CMDIFrameWndEx::MDITabMoveToNextGroup
Sposta la scheda attiva dalla finestra a schede attualmente attiva al gruppo a schede successivo o precedente.
void MDITabMoveToNextGroup(BOOL bNext=TRUE);
Parametri
bNext
[in] Se TRUE
, spostare la scheda nel gruppo a schede successivo. Se FALSE
, spostarlo nel gruppo a schede precedente.
CMDIFrameWndEx::MDITabNewGroup
Crea un nuovo gruppo a schede con una singola finestra.
void MDITabNewGroup(BOOL bVert=TRUE);
Parametri
bVert
[in] Specifica il nuovo allineamento del gruppo. Se TRUE
, il nuovo gruppo è allineato verticalmente. Se FALSE
, il nuovo gruppo è allineato orizzontalmente.
Osservazioni:
Usare questa funzione per creare una nuova finestra a schede (nuovo gruppo a schede) e aggiungervi la prima scheda.
Esempio
L'esempio seguente illustra come MDITabNewGroup
viene usato nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
void CMainFrame::OnMdiNewHorzTabGroup()
{
MDITabNewGroup(FALSE);
}
CMDIFrameWndEx::m_bCanConvertControlBarToMDIChild
Specifica se i riquadri di ancoraggio possono essere convertiti in finestre figlio MDI.
BOOL m_bCanConvertControlBarToMDIChild;
Osservazioni:
Indica se le barre di controllo di ancoraggio possono essere convertite in finestre figlio MDI. Se questo flag è TRUE
, il framework gestisce automaticamente la conversione quando l'utente seleziona il comando Documento a schede. Il flag è protetto ed è necessario abilitare in modo esplicito questa opzione impostando m_bCanConvertControlBarToMDIChild
in un costruttore di una CMDIFrameWndEx
classe derivata da o eseguendo l'override di CanConvertControlBarToMDIChild
.
Il valore predefinito è FALSE
.
Esempio
L'esempio seguente illustra come m_bCanConvertControlBarToMDIChild
viene usato nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
CMainFrame::CMainFrame()
{
CMFCPopupMenu::SetForceShadow(TRUE);
m_bCanConvertControlBarToMDIChild = TRUE;
}
CMDIFrameWndEx::m_bDisableSetRedraw
Abilita o disabilita l'ottimizzazione del ridisegno per le finestre figlio MDI.
AFX_IMPORT_DATA static BOOL m_bDisableSetRedraw;
Osservazioni:
Il valore predefinito è TRUE
.
Impostare questo flag su FALSE
se si desidera ottimizzare il ridisegno degli elementi figlio MDI. In questo caso, il framework chiamerà SetRedraw (FALSE)
per il frame principale quando l'applicazione modifica la scheda attiva.
Questo flag può causare effetti indesiderati, ad esempio applicazioni in background che diventano visibili. È pertanto consigliabile modificare l'impostazione predefinita solo se si riscontra un notevole sfarfallio durante l'attivazione della scheda MDI.
CMDIFrameWndEx::NegotiateBorderSpace
Negozia lo spazio del bordo in una finestra cornice durante l'attivazione sul posto OLE.
virtual BOOL NegotiateBorderSpace(
UINT nBorderCmd,
LPRECT lpRectBorder);
Parametri
nBorderCmd
[in] Contiene uno dei valori seguenti dall'enumerazione CFrameWnd::BorderCmd
:
borderGet
= 1borderRequest
= 2borderSet
= 3
lpRectBorder
[in, out] Puntatore a una RECT
struttura o a unCRect
oggetto classe che specifica le coordinate del bordo.
Valore restituito
Diverso da zero se il metodo ha avuto esito positivo; in caso contrario, 0.
Osservazioni:
Questo metodo è un'implementazione della negoziazione dello spazio di bordo OLE.
CMDIFrameWndEx::OnCloseDockingPane
Chiamato dal framework quando l'utente fa clic sul pulsante Chiudi in un riquadro ancorabile.
virtual BOOL OnCloseDockingPane(CDockablePane* pWnd);
Parametri
pWnd
[in] Puntatore al riquadro chiuso.
Valore restituito
TRUE
se il riquadro di ancoraggio può essere chiuso. In caso contrario, FALSE
.
Osservazioni:
Eseguire l'override di questo metodo per gestire il nascondiglio dei riquadri di ancoraggio. Restituisce FALSE
se si desidera impedire che un riquadro di ancoraggio venga nascosto.
L'implementazione predefinita non esegue alcuna operazione e restituisce TRUE
.
CMDIFrameWndEx::OnCloseMiniFrame
Chiamato dal framework quando l'utente fa clic sul pulsante Chiudi in una finestra mini-frame mobile.
virtual BOOL OnCloseMiniFrame(CPaneFrameWnd*);
Parametri
pWnd
[in] Puntatore alla finestra mini-frame chiusa.
Valore restituito
TRUE
se la finestra a mini frame mobile può essere chiusa. In caso contrario, FALSE
.
Osservazioni:
Eseguire l'override di questo metodo per gestire l'nascondere le finestre a mini frame mobile. Restituisce FALSE
se si desidera impedire che una finestra mini-frame mobile venga nascosta.
L'implementazione predefinita non esegue alcuna operazione e restituisce TRUE
.
CMDIFrameWndEx::OnClosePopupMenu
Chiamato dal framework quando un menu a comparsa attivo elabora un WM_DESTROY
messaggio.
virtual void OnClosePopupMenu(CMFCPopupMenu* pMenuPopup);
Parametri
pMenuPopup
[in] Puntatore a un menu a comparsa.
Osservazioni:
Eseguire l'override di questo metodo se si desidera elaborare notifiche da CMFCPopupMenu
oggetti classe che appartengono alla finestra cornice MDI quando tali oggetti elaborano WM_DESTROY
i messaggi.
CMDIFrameWndEx::OnCmdMsg
Chiamato dal framework per instradare e inviare messaggi di comando e aggiornare gli oggetti dell'interfaccia utente del comando.
virtual BOOL OnCmdMsg(
UINT nID,
int nCode,
void* pExtra,
AFX_CMDHANDLERINFO* pHandlerInfo);
Parametri
nID
[in] ID comando.
nCode
[in] Identifica il codice di notifica del comando. Per altre informazioni sui valori per nCode
, vedere CCmdTarget::OnCmdMsg
.
pExtra
[in] Usato in base al valore di nCode
. Per altre informazioni su pExtra
, vedere CCmdTarget::OnCmdMsg
.
pHandlerInfo
[in, out] In genere, questo parametro deve essere NULL
. Se non è NULL
, OnCmdMsg
compila i pTarget
membri e pmf
della pHandlerInfo
struttura invece di inviare il comando.
Valore restituito
Diverso da zero se il messaggio viene gestito; in caso contrario, 0.
CMDIFrameWndEx::OnDrawMenuImage
Chiamato dal framework quando viene disegnata l'immagine associata a una voce di menu.
virtual BOOL OnDrawMenuImage(
CDC* pDC,
const CMFCToolBarMenuButton* pMenuButton,
const CRect& rectImage);
Parametri
pDC
[in] Puntatore a un contesto di dispositivo.
pMenuButton
[in] Puntatore al pulsante di menu.
rectImage
[in] Rettangolo di delimitazione dell'immagine.
Valore restituito
TRUE
se il metodo disegna l'immagine. L'implementazione predefinita restituisce FALSE
.
Osservazioni:
Eseguire l'override di questo metodo se si desidera personalizzare il rendering delle immagini per le voci di menu appartenenti alla barra dei menu di proprietà dell'oggetto CMDIFrameWndEx
derivato da . L'implementazione predefinita non esegue alcuna operazione.
CMDIFrameWndEx::OnDrawMenuLogo
Chiamato dal framework quando un CMFCPopupMenu
oggetto elabora un WM_PAINT
messaggio.
virtual void OnDrawMenuLogo(
CDC*,
CMFCPopupMenu*,
const CRect&);
Osservazioni:
Eseguire l'override di questa funzione per visualizzare un logo nel menu a comparsa che appartiene alla barra dei menu di proprietà dell'oggetto CMDIFrameWndEx
derivato da . L'implementazione predefinita non esegue alcuna operazione.
CMDIFrameWndEx::OnEraseMDIClientBackground
Chiamato dal framework quando la finestra cornice MDI elabora un WM_ERASEBKGND
messaggio.
virtual BOOL OnEraseMDIClientBackground(CDC*);
Valore restituito
TRUE
se l'applicazione elabora il messaggio e cancella lo sfondo.
Osservazioni:
Eseguire l'override di questa funzione membro se si desidera elaborare il WM_ERASEBKGND
messaggio in una CMDIFrameWndEx
classe derivata da .
CMDIFrameWndEx::OnMenuButtonToolHitTest
Chiamato dal framework quando un CMFCToolBarButton
oggetto elabora un WM_NCHITTEST
messaggio.
virtual BOOL OnMenuButtonToolHitTest(
CMFCToolBarButton* pButton,
TOOLINFO* pTI);
Parametri
pButton
[in] Pulsante della barra degli strumenti.
pTI
[out] Puntatore a una TOOLINFO
struttura.
Valore restituito
TRUE
se l'applicazione riempie il pTI
parametro. L'implementazione predefinita restituisce FALSE
.
Osservazioni:
Eseguire l'override di questo metodo se si desidera fornire informazioni su voci di menu specifiche a una descrizione comando. L'implementazione predefinita non esegue alcuna operazione.
CMDIFrameWndEx::OnMoveMiniFrame
Chiamato dal framework per spostare una finestra mini-frame.
virtual BOOL OnMoveMiniFrame(CWnd* pFrame);
Parametri
pFrame
[in] Puntatore a una finestra con mini frame.
Valore restituito
TRUE
se il metodo ha esito positivo; in caso contrario FALSE
, .
CMDIFrameWndEx::OnSetPreviewMode
Imposta la modalità anteprima anteprima della finestra cornice principale dell'applicazione.
virtual void OnSetPreviewMode(
BOOL bPreview,
CPrintPreviewState* pState);
Parametri
bPreview
[in] Se TRUE
, imposta la modalità anteprima di stampa. Se FALSE
, annulla la modalità di anteprima.
pState
[in] Puntatore a una CPrintPreviewState
struttura.
Osservazioni:
Questo metodo esegue l'override di CFrameWnd::OnSetPreviewMode
.
CMDIFrameWndEx::OnShowCustomizePane
Chiamato dal framework quando viene attivato un riquadro Personalizzazione rapida.
virtual BOOL OnShowCustomizePane(
CMFCPopupMenu* pMenuPane,
UINT uiToolbarID);
Parametri
pMenuPane
[in] Puntatore al riquadro Personalizzazione rapida.
uiToolbarID
[in] ID di controllo della barra degli strumenti da personalizzare.
Valore restituito
Questo metodo restituisce sempre TRUE
.
Osservazioni:
Il riquadro Personalizzazione rapida è un menu che si apre quando l'utente fa clic su Personalizza su una barra degli strumenti.
Eseguire l'override di questo metodo in una classe derivata per apportare modifiche nel riquadro Personalizzazione rapida.
CMDIFrameWndEx::OnShowMDITabContextMenu
Chiamato dal framework prima che venga visualizzato un menu di scelta rapida in una delle schede. Valido solo per i gruppi a schede MDI.
virtual BOOL OnShowMDITabContextMenu(
CPoint point,
DWORD dwAllowedItems,
BOOL bTabDrop);
Parametri
point
[in] Posizione del menu nelle coordinate dello schermo.
dwAllowedItems
[in] Combinazione bit per bit "or" (|
) di flag che indica le azioni consentite per la scheda corrente:
AFX_MDI_CREATE_VERT_GROUP
: può creare un gruppo di schede verticali.AFX_MDI_CREATE_HORZ_GROUP
: può creare un gruppo di schede orizzontali.AFX_MDI_CAN_MOVE_PREV
- può spostare una scheda nel gruppo di schede precedente.AFX_MDI_CAN_MOVE_NEXT
: può spostare una scheda nel gruppo di schede successivo.AFX_MDI_CAN_BE_DOCKED
- impostare uno stato ancorato di un documento a schede (rilevante solo per i documenti a schede).
bTabDrop
[in] TRUE
per visualizzare il menu come risultato del trascinamento della scheda in un altro gruppo a schede. FALSE
per visualizzare il menu come menu di scelta rapida nella scheda attualmente attiva.
Valore restituito
Eseguire l'override di questo metodo in una CMDIFrameWndEx
classe derivata da .
Osservazioni:
Se non si elabora OnShowMDITabContextMenu
, il menu di scelta rapida non verrà visualizzato. Questa funzione viene generata dalla Creazione guidata applicazione MFC quando si abilita la funzionalità Gruppi a schede MDI.
Esempio
L'esempio seguente illustra come OnShowMDITabContextMenu
viene usato nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
BOOL CMainFrame::OnShowMDITabContextMenu(CPoint point, DWORD dwAllowedItems, BOOL bDrop)
{
CMenu menu;
VERIFY(menu.LoadMenu(bDrop ? IDR_POPUP_DROP_MDITABS : IDR_POPUP_MDITABS));
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
if ((dwAllowedItems & AFX_MDI_CREATE_HORZ_GROUP) == 0)
{
pPopup->DeleteMenu(ID_MDI_NEW_HORZ_TAB_GROUP, MF_BYCOMMAND);
}
if ((dwAllowedItems & AFX_MDI_CREATE_VERT_GROUP) == 0)
{
pPopup->DeleteMenu(ID_MDI_NEW_VERT_GROUP, MF_BYCOMMAND);
}
if ((dwAllowedItems & AFX_MDI_CAN_MOVE_NEXT) == 0)
{
pPopup->DeleteMenu(ID_MDI_MOVE_TO_NEXT_GROUP, MF_BYCOMMAND);
}
if ((dwAllowedItems & AFX_MDI_CAN_MOVE_PREV) == 0)
{
pPopup->DeleteMenu(ID_MDI_MOVE_TO_PREV_GROUP, MF_BYCOMMAND);
}
if ((dwAllowedItems & AFX_MDI_CAN_BE_DOCKED) == 0)
{
pPopup->DeleteMenu(ID_MDI_TABBED_DOCUMENT, MF_BYCOMMAND);
}
CMFCPopupMenu* pPopupMenu = new CMFCPopupMenu;
pPopupMenu->SetAutoDestroy(FALSE);
pPopupMenu->Create(this, point.x, point.y, pPopup->GetSafeHmenu());
return TRUE;
}
CMDIFrameWndEx::OnShowPanes
Chiamato dal framework per visualizzare o nascondere i riquadri.
virtual BOOL OnShowPanes(BOOL bShow);
Parametri
bShow
[in] TRUE
per visualizzare i riquadri, FALSE
per nascondere i riquadri.
Valore restituito
TRUE
se lo stato dei riquadri cambia come risultato della chiamata a questo metodo, FALSE
se i riquadri sono già nello stato specificato da bShow
. Ad esempio, se i riquadri sono nascosti e bShow
è FALSE
, il valore Restituito è FALSE
.
Osservazioni:
L'implementazione predefinita rimuove la barra degli strumenti dalla finestra cornice di primo livello.
Se CDockingManager::m_bHideDockingBarsInContainerMode
è TRUE
(impostazione predefinita), tutti i riquadri di ancoraggio verranno nascosti.
CMDIFrameWndEx::OnShowPopupMenu
Chiamato dal framework quando apre un menu a comparsa.
virtual BOOL OnShowPopupMenu(CMFCPopupMenu*);
Valore restituito
TRUE
se il menu a comparsa deve essere visualizzato. In caso contrario, FALSE
. L'implementazione predefinita restituisce TRUE
.
Osservazioni:
Eseguire l'override di questo metodo se si vuole implementare un'elaborazione speciale all'attivazione del menu a comparsa. Ad esempio, se si desidera modificare le voci di menu normali in pulsanti di menu a colori, configurare barre di disinstallazione e così via.
L'implementazione predefinita non esegue alcuna operazione.
CMDIFrameWndEx::OnSizeMDIClient
Chiamato dal framework quando cambiano le dimensioni della finestra MDI del client.
virtual void OnSizeMDIClient(
const CRect& rectOld,
const CRect& rectNew);
Parametri
rectOld
[in] Dimensioni correnti della finestra del client MDI.
rectNew
[in] Nuova dimensione della finestra del client MDI.
Osservazioni:
CMDIFrameWndEx::OnTearOffMenu
Chiamato dal framework durante l'attivazione di un menu con barra a comparsa.
virtual BOOL OnTearOffMenu(
CMFCPopupMenu* pMenuPopup,
CPane* pBar);
Parametri
pMenuPopup
[in] Puntatore al menu a comparsa.
pBar
[in] Puntatore alla barra di disinstallazione.
Valore restituito
TRUE
per consentire l'attivazione del menu a comparsa con la barra di disinstallazione; in caso contrario FALSE
, . Il valore predefinito è TRUE
.
Osservazioni:
Eseguire l'override di questa funzione quando si vuole implementare una configurazione speciale per la barra di disinstallazione. L'implementazione predefinita non esegue alcuna operazione.
CMDIFrameWndEx::OnUpdateFrameMenu
Chiamato dal framework per aggiornare il menu cornice.
virtual void OnUpdateFrameMenu(HMENU hMenuAlt);
Parametri
hMenuAlt
[in] Handle di un menu.
CMDIFrameWndEx::PaneFromPoint
Restituisce il riquadro di ancoraggio che contiene il punto specificato.
CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
bool bExactBar,
CRuntimeClass* pRTCBarType) const;
CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
DWORD& dwAlignment,
CRuntimeClass* pRTCBarType) const;
Parametri
point
[in] Punto (nelle coordinate dello schermo).
nSensitivity
[in] Il rettangolo della finestra di ogni riquadro selezionato viene ingrandito in tutte le direzioni in base a questo valore.
bExactBar
[in] Se TRUE
, il nSensitivity
parametro viene ignorato.
pRTCBarType
[in] Se non è NULL
, il metodo esegue l'iterazione solo sui riquadri del tipo specificato.
dwAlignment
[out] Se viene trovato un riquadro, questo parametro specifica il lato del riquadro più vicino al punto specificato.
Valore restituito
Puntatore a un riquadro di ancoraggio o NULL
se nessun controllo contiene il punto specificato da point
.
Osservazioni:
La chiamata viene reindirizzata alla CDockingManager
classe . Per ulteriori informazioni, vedere CDockingManager::ControlBarFromPoint
.
CMDIFrameWndEx::RecalcLayout
Chiamato dal framework per ricalcolare il layout della finestra cornice.
virtual void RecalcLayout(BOOL bNotify = TRUE);
Parametri
bNotify
[in] Determina se l'elemento sul posto attivo per la finestra cornice riceve una notifica della modifica del layout. Se TRUE
, l'elemento riceve una notifica; in caso contrario FALSE
, .
Osservazioni:
Questo metodo esegue l'override di CFrameWnd::RecalcLayout.
CMDIFrameWndEx::RemovePaneFromDockManager
Annulla la registrazione di un riquadro e lo rimuove dal gestore di ancoraggio.
void RemovePaneFromDockManager(
CBasePane* pControlBar,
BOOL bDestroy,
BOOL bAdjustLayout,
BOOL bAutoHide,
CBasePane* pBarReplacement);
Parametri
pControlBar
[in] Puntatore a un riquadro da rimuovere.
bDestroy
[in] TRUE
per eliminare definitivamente il riquadro rimosso. FALSE
per non distruggerlo.
bAdjustLayout
[in] TRUE
per regolare immediatamente il layout di ancoraggio. Se FALSE
, la regolazione si verificherà solo quando si verifica un evento di ridisegno per altri motivi (l'utente ridimensiona la finestra, trascina la cornice principale e così via).
bAutoHide
[in] TRUE
per rimuovere il riquadro dall'elenco dei riquadri di individuazione automatica. FALSE
per rimuovere il riquadro dall'elenco dei riquadri normali.
pBarReplacement
[in] Puntatore a un riquadro che sostituisce il riquadro rimosso.
Osservazioni:
È necessario registrare ogni riquadro con il gestore di ancoraggio per partecipare al layout di ancoraggio. Usare CMDIFrameWndEx::AddPane
o CMDIFrameWndEx::InsertPane
per registrare i riquadri.
Utilizzare questo metodo quando un riquadro non fa più parte del layout di ancoraggio della finestra cornice.
CMDIFrameWndEx::SaveMDIState
Salva il layout corrente dei gruppi a schede MDI e l'elenco dei documenti aperti in precedenza.
virtual BOOL SaveMDIState(LPCTSTR lpszProfileName);
Parametri
lpszProfileName
[in] Specifica il nome del profilo.
Valore restituito
TRUE
se il salvataggio è riuscito; FALSE
se il salvataggio non è riuscito.
Osservazioni:
Per caricare o salvare lo stato delle schede e dei gruppi MDI e l'elenco di documenti aperti, eseguire le operazioni seguenti:
- Chiamare
SaveMDIState
quando il frame principale viene chiuso - Chiamare
CMDIFrameWndEx::LoadMDIState
quando viene creato il frame principale. La posizione consigliata per questa chiamata è prima che il fotogramma principale venga visualizzato per la prima volta. - Chiamare
CWinAppEx::EnableLoadWindowPlacement(FALSE);
primapMainFrame->LoadFrame (IDR_MAINFRAME);
- Chiamare
CWinAppEx::ReloadWindowPlacement(pMainFrame)
dopoLoadMDIState
per visualizzare il frame principale nella posizione archiviata nel Registro di sistema. - Eseguire l'override
GetDocumentName
nellaCMDIChildWndEx
classe derivata se l'applicazione visualizza documenti non archiviati come file. La stringa restituita verrà salvata nel Registro di sistema come identificatore di documento. Per ulteriori informazioni, vedereCMDIChildWndEx::GetDocumentName
. - Eseguire l'override
CMDIFrameWndEx::CreateDocumentWindow
per creare correttamente i documenti quando vengono caricati dal Registro di sistema. Il parametro aCreateDocumentWindow
è la stringaGetDocumentName
restituita in precedenza.
Esempio
L'esempio seguente illustra come SaveMDIState
viene usato nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
void CMainFrame::OnClose()
{
SaveMDIState(theApp.GetRegSectionPath());
CMDIFrameWndEx::OnClose();
}
CMDIFrameWndEx::SetPrintPreviewFrame
Imposta la finestra cornice di anteprima di stampa.
void SetPrintPreviewFrame(CFrameWnd* pWnd);
Parametri
pWnd
[in] Puntatore a una finestra cornice di anteprima di stampa.
Osservazioni:
CMDIFrameWndEx::SetupToolbarMenu
Modifica un oggetto barra degli strumenti sostituendo gli elementi fittizi con elementi definiti dall'utente.
void SetupToolbarMenu(
CMenu& menu,
const UINT uiViewUserToolbarCmdFirst,
const UINT uiViewUserToolbarCmdLast);
Parametri
menu
[in] Riferimento a un CMenu
oggetto classe da modificare.
uiViewUserToolbarCmdFirst
[in] Specifica il primo comando definito dall'utente.
uiViewUserToolbarCmdLast
[in] Specifica l'ultimo comando definito dall'utente.
CMDIFrameWndEx::ShowFullScreen
Passa il fotogramma principale dalla modalità normale alla modalità schermo intero.
void ShowFullScreen();
Osservazioni:
CMDIFrameWndEx::ShowPane
Visualizza o nasconde il riquadro specificato.
void ShowPane(
CBasePane* pBar,
BOOL bShow,
BOOL bDelay,
BOOL bActivate);
Parametri
pBar
[in] Puntatore al riquadro da visualizzare o nascondere.
bShow
[in] TRUE
per visualizzare il riquadro. FALSE
per nascondere il riquadro.
bDelay
[in] TRUE
per ritardare il ricalcolo del layout di ancoraggio. FALSE
per ricalcolare immediatamente il layout di ancoraggio.
bActivate
[in] TRUE
per visualizzare il riquadro come attivo. FALSE
per visualizzare il riquadro come inattivo.
Osservazioni:
Chiamare questo metodo per visualizzare o nascondere il riquadro. Non usare ShowWindow
per i riquadri di ancoraggio.
Esempio
L'esempio seguente illustra come ShowPane
viene usato nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
void COutputList1::OnViewOutput()
{
CBasePane* pParentBar = DYNAMIC_DOWNCAST(CBasePane, GetOwner());
CFrameWndEx* pMainFrame = DYNAMIC_DOWNCAST(CFrameWndEx, GetTopLevelFrame());
if (pMainFrame != NULL && pParentBar != NULL)
{
pMainFrame->SetFocus();
pMainFrame->ShowPane(pParentBar, FALSE, FALSE, FALSE);
}
}
CMDIFrameWndEx::ShowWindowsDialog
Crea una CMFCWindowsManagerDialog
casella e la apre.
void ShowWindowsDialog();
Esempio
L'esempio seguente illustra come ShowWindowsDialog
viene usato nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
void CMainFrame::OnWindowManager()
{
ShowWindowsDialog();
}
CMDIFrameWndEx::TabbedDocumentToControlBar
Converte il documento a schede specificato in un riquadro di ancoraggio.
virtual BOOL TabbedDocumentToControlBar(CMDIChildWndEx* pMDIChildWnd);
Parametri
pMDIChildWnd
Puntatore alla finestra figlio MDI che contiene un riquadro di ancoraggio.
Valore restituito
TRUE
se il metodo ha avuto esito positivo, FALSE
in caso di errore.
Osservazioni:
Utilizzare questo metodo per convertire un documento a schede in un riquadro di ancoraggio. Il documento a schede deve essere stato creato utilizzando CMDIFrameWndEx::ControlBarToTabbedDocument
.
Esempio
L'esempio seguente illustra come TabbedDocumentToControlBar
viene usato nell'esempio di VisualStudioDemo: Applicazione di Visual Studio MFC.
void CMainFrame::OnMdiTabbedDocument()
{
CMDIChildWndEx* pMDIChild = DYNAMIC_DOWNCAST(CMDIChildWndEx, MDIGetActive());
if (pMDIChild == NULL)
{
ASSERT(FALSE);
return;
}
TabbedDocumentToControlBar(pMDIChild);
}
CMDIFrameWndEx::UpdateCaption
Chiamato dal framework per aggiornare la didascalia della cornice della finestra.
void UpdateCaption();
Osservazioni:
CMDIFrameWndEx::UpdateMDITabbedBarsIcons
Imposta l'icona per ogni riquadro a schede MDI.
void UpdateMDITabbedBarsIcons();
CMDIFrameWndEx::WinHelp
Chiamato dal framework per avviare l'applicazione WinHelp o la Guida sensibile al contesto.
virtual void WinHelp(
DWORD dwData,
UINT nCmd = HELP_CONTEXT);
Parametri
dwData
[in] Specifica i dati necessari per il tipo di guida specificato da nCmd
.
nCmd
[in] Specifica il tipo di Guida richiesta. Per altre informazioni sui valori possibili e sul modo in cui influiscono sul dwData
parametro, vedere WinHelp
.
Osservazioni:
Questo metodo esegue l'override di CWnd::WinHelp
.
Vedi anche
Grafico della gerarchia
Classi
Classe CMDIFrameWnd
Classe CMDIChildWndEx