Classe CMFCPropertySheet
La classe CMFCPropertySheet
supporta una finestra delle proprietà in cui ogni pagina delle proprietà è identificata da una scheda, un pulsante della barra degli strumenti, un nodo del controllo dell'albero o un elemento di elenco.
Sintassi
class CMFCPropertySheet : public CPropertySheet
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CMFCPropertySheet::CMFCPropertySheet | Costruisce un oggetto CMFCPropertySheet . |
CMFCPropertySheet::~CMFCPropertySheet |
Distruttore. |
Metodi pubblici
Nome | Descrizione |
---|---|
CMFCPropertySheet::AddPage | Aggiunge una pagina alla finestra delle proprietà. |
CMFCPropertySheet::AddPageToTree | Aggiunge una nuova pagina delle proprietà al controllo albero. |
CMFCPropertySheet::AddTreeCategory | Aggiunge un nuovo nodo al controllo dell'albero. |
CMFCPropertySheet::EnablePageHeader | Riserva spazio nella parte superiore di ogni pagina per creare un'intestazione personalizzata. |
CMFCPropertySheet::GetHeaderHeight | Recupera l'altezza dell'intestazione corrente. |
CMFCPropertySheet::GetLook | Recupera il valore di enumerazione che specifica l'aspetto della finestra delle proprietà corrente. |
CMFCPropertySheet::GetNavBarWidth | Recupera la larghezza della barra di navigazione in pixel. |
CMFCPropertySheet::GetTab | Recupera l'oggetto del controllo Struttura a schede interno che supporta il controllo corrente della finestra delle proprietà. |
CMFCPropertySheet::GetThisClass |
Usato dal framework per ottenere un puntatore all'oggetto CRuntimeClass associato a questo tipo di classe. |
CMFCPropertySheet::InitNavigationControl | Inizializza l'aspetto del controllo corrente della finestra delle proprietà. |
CMFCPropertySheet::OnActivatePage | Chiamato dal framework quando una pagina delle proprietà è abilitata. |
CMFCPropertySheet::OnDrawPageHeader | Chiamato dal framework per creare un'intestazione pagina delle proprietà personalizzata. |
CMFCPropertySheet::OnInitDialog |
Gestisce il messaggio di WM_INITDIALOG . (sostituzioni )CPropertySheet::OnInitDialog.) |
CMFCPropertySheet::OnRemoveTreePage | Chiamato dal framework per rimuovere una pagina delle proprietà da un controllo albero. |
CMFCPropertySheet::PreTranslateMessage |
Converte i messaggi della finestra prima che vengano inviati alle funzioni di Windows TranslateMessage e DispatchMessage . Esegue l'override di CPropertySheet::PreTranslateMessage . |
CMFCPropertySheet::RemoveCategory | Rimuove un nodo dal controllo albero. |
CMFCPropertySheet::RemovePage | Rimuove una pagina delle proprietà dalla finestra delle proprietà. |
CMFCPropertySheet::SetIconsList | Specifica l'elenco delle immagini usate nel controllo di navigazione del riquadro di Outlook. |
CMFCPropertySheet::SetLook | Specifica l'aspetto della finestra delle proprietà. |
Osservazioni:
La classe CMFCPropertySheet
rappresenta le finestre delle proprietà, note anche come finestre di dialogo a schede. La classe CMFCPropertySheet
può visualizzare una pagina delle proprietà in vari modi.
Per usare la classe CMFCPropertySheet
nell'applicazione,seguire questa procedura:
Derivare una classe dalla classe
CMFCPropertySheet
e assegnare alla classe un nome, ad esempio, CMyPropertySheet.Costruire un oggetto CMFCPropertyPage per ogni pagina delle proprietà.
Chiamare il metodo CMFCPropertySheet::SetLook nel costruttore CMyPropertySheet. Un parametro del metodo specifica che le pagine delle proprietà vengono visualizzate come schede nella parte superiore o sinistra della finestra delle proprietà; le schede nello stile di una finestra delle proprietà di Microsoft OneNote; i pulsanti su un controllo della barra degli strumenti di Microsoft Outlook; i nodi in un controllo dell'albero oppure come un elenco di elementi sul lato sinistro della finestra delle proprietà.
Se si crea una finestra delle proprietà nello stile di una barra degli strumenti di Microsoft Outlook, chiamare il metodo CMFCPropertySheet::SetIconsList per associare un elenco di immagini alle pagine delle proprietà.
Chiamare il metodo CMFCPropertySheet::AddPage per ogni pagina delle proprietà.
Creare un controllo
CMFCPropertySheet
e chiamare il relativo metodoDoModal
.
Illustrazioni
Nella figura seguente vengono illustrate una finestra delle proprietà nello stile della barra degli strumenti incorporata di Microsoft Outlook. La barra degli strumenti di Outlook viene visualizzata a sinistra della finestra delle proprietà.
La figura seguente illustra una finestra delle proprietà contenente un oggetto Classe CMFCPropertyGridCtrl. Tale oggetto è una finestra delle proprietà nello stile di una finestra delle proprietà dei controlli standard.
La figura seguente mostra una finestra delle proprietà nello stile di un controllo albero.
Gerarchia di ereditarietà
Requisiti
Intestazione: afxpropertysheet.h
CMFCPropertySheet::AddPage
Aggiunge una pagina alla finestra delle proprietà.
void AddPage(CPropertyPage* pPage);
Parametri
pPage
[in] Puntatore a un oggetto pagina. Questo parametro non può essere NULL.
Osservazioni:
Questo metodo aggiunge la pagina delle proprietà specificata come scheda più a destra nella finestra delle proprietà. Utilizzare quindi questo metodo per aggiungere pagine in ordine da sinistra a destra.
Se la finestra delle proprietà è nello stile di Microsoft Outlook, il framework visualizza un elenco di pulsanti di spostamento a sinistra della finestra delle proprietà. Dopo che questo metodo aggiunge una pagina delle proprietà, aggiunge un pulsante corrispondente all'elenco. Per visualizzare una pagina delle proprietà, fare clic sul pulsante corrispondente. Per altre informazioni sugli stili delle finestre delle proprietà, vedere CMFCPropertySheet::SetLook.
CMFCPropertySheet::AddPageToTree
Aggiunge una nuova pagina delle proprietà al controllo albero.
void AddPageToTree(
CMFCPropertySheetCategoryInfo* pCategory,
CMFCPropertyPage* pPage,
int nIconNum=-1,
int nSelIconNum=-1);
Parametri
pCategory
[in] Puntatore a un nodo della struttura ad albero padre o NULL per associare la pagina specificata al nodo di primo livello. Chiamare il metodo CMFCPropertySheet::AddTreeCategory per ottenere questo puntatore.
pPage
[in] Puntatore a un oggetto pagina delle proprietà.
nIconNum
[in] Indice in base zero di un'icona o -1 se non viene usata alcuna icona. L'icona viene visualizzata accanto alla pagina delle proprietà del controllo albero quando la pagina non è selezionata. Il valore predefinito è -1.
nSelIconNum
[in] Indice in base zero di un'icona o -1 se non viene usata alcuna icona. L'icona viene visualizzata accanto alla pagina delle proprietà del controllo albero quando la pagina è selezionata. Il valore predefinito è -1.
Osservazioni:
Questo metodo aggiunge una pagina delle proprietà come foglia di un controllo albero. Per aggiungere una pagina delle proprietà, creare un CMFCPropertySheet
oggetto, chiamare il metodo CMFCPropertySheet::SetLook con il parametro look impostato su CMFCPropertySheet::PropSheetLook_Tree
e quindi utilizzare questo metodo per aggiungere la pagina delle proprietà.
CMFCPropertySheet::AddTreeCategory
Aggiunge un nuovo nodo al controllo dell'albero.
CMFCPropertySheetCategoryInfo* AddTreeCategory(
LPCTSTR lpszLabel,
int nIconNum=-1,
int nSelectedIconNum=-1,
const CMFCPropertySheetCategoryInfo* pParentCategory=NULL);
Parametri
lpszLabel
[in] Nome del nodo.
nIconNum
[in] Indice in base zero di un'icona o -1 se non viene usata alcuna icona. L'icona viene visualizzata accanto alla pagina delle proprietà del controllo albero quando la pagina non è selezionata. Il valore predefinito è -1.
nSelectedIconNum
[in] Indice in base zero di un'icona o -1 se non viene usata alcuna icona. L'icona viene visualizzata accanto alla pagina delle proprietà del controllo albero quando la pagina è selezionata. Il valore predefinito è -1.
pParentCategory
[in] Puntatore a un nodo della struttura ad albero padre o NULL per associare la pagina specificata al nodo di primo livello. Impostare questo parametro con il metodo CMFCPropertySheet::AddTreeCategory .
Valore restituito
Puntatore al nuovo nodo nel controllo albero.
Osservazioni:
Utilizzare questo metodo per aggiungere un nuovo nodo, detto anche categoria, al controllo albero. Per aggiungere un nodo, creare un CMFCPropertySheet
oggetto, chiamare il metodo CMFCPropertySheet::SetLook con il parametro look impostato su CMFCPropertySheet::PropSheetLook_Tree
e quindi usare questo metodo per aggiungere il nodo.
Utilizzare il valore restituito di questo metodo nelle chiamate successive a CMFCPropertySheet::AddPageToTree e CMFCPropertySheet::AddTreeCategory.
CMFCPropertySheet::CMFCPropertySheet
Costruisce un oggetto CMFCPropertySheet
.
CMFCPropertySheet(
UINT nIDCaption,
CWnd* pParentWnd=NULL,
UINT iSelectPage=0);
CMFCPropertySheet(
LPCTSTR pszCaption,
CWnd* pParentWnd=NULL,
UINT iSelectPage=0);
Parametri
pszCaption
[in] Stringa contenente la didascalia della finestra delle proprietà. Non può essere NULL.
nIDCaption
[in] ID risorsa contenente la didascalia della finestra delle proprietà.
pParentWnd
[in] Puntatore alla finestra padre della finestra delle proprietà o NULL se la finestra padre è la finestra principale dell'applicazione. Il valore predefinito è NULL.
iSelectPage
[in] Indice in base zero della pagina delle proprietà superiore. Il valore predefinito è 0.
Osservazioni:
Per altre informazioni, vedere i parametri per il costruttore CPropertySheet::CPropertySheet .
CMFCPropertySheet::EnablePageHeader
Riserva spazio nella parte superiore di ogni pagina per creare un'intestazione personalizzata.
void EnablePageHeader(int nHeaderHeight);
Parametri
nHeaderHeight
[in] Altezza dell'intestazione, in pixel.
Osservazioni:
Per utilizzare il valore del parametro nHeaderHeight per disegnare un'intestazione personalizzata, eseguire l'override del metodo CMFCPropertySheet::OnDrawPageHeader .
CMFCPropertySheet::GetHeaderHeight
Recupera l'altezza dell'intestazione corrente.
int GetHeaderHeight() const;
Valore restituito
Altezza dell'intestazione, in pixel.
Osservazioni:
Chiamare il metodo CMFCPropertySheet::EnablePageHeader prima di chiamare questo metodo.
CMFCPropertySheet::GetLook
Recupera il valore di enumerazione che specifica l'aspetto della finestra delle proprietà corrente.
PropSheetLook GetLook() const;
Valore restituito
Uno dei valori di enumerazione che specifica l'aspetto della finestra delle proprietà. Per un elenco dei valori possibili, vedere la tabella di enumerazione nella sezione Osservazioni di CMFCPropertySheet::SetLook.
CMFCPropertySheet::GetNavBarWidth
Ottiene la larghezza della barra di spostamento.
int GetNavBarWidth() const;
Valore restituito
Larghezza della barra di spostamento in pixel.
CMFCPropertySheet::GetTab
Recupera l'oggetto del controllo Struttura a schede interno che supporta il controllo corrente della finestra delle proprietà.
CMFCTabCtrl& GetTab() const;
Valore restituito
Oggetto controllo struttura a schede interno.
Osservazioni:
È possibile impostare una finestra delle proprietà in modo che venga visualizzata in stili diversi, ad esempio un controllo albero, un elenco di pulsanti di spostamento o un set di pagine a schede.
Prima di chiamare questo metodo, chiamare il metodo CMFCPropertySheet::SetLook per impostare l'aspetto del controllo della finestra delle proprietà. Chiamare quindi il metodo CMFCPropertySheet::InitNavigationControl per inizializzare l'oggetto controllo struttura a schede interno. Utilizzare questo metodo per recuperare l'oggetto controllo struttura a schede e quindi utilizzare tale oggetto per utilizzare le schede nella finestra delle proprietà.
Questo metodo asserisce in modalità di debug se il controllo della finestra delle proprietà non è impostato per essere visualizzato nello stile di Microsoft OneNote.
CMFCPropertySheet::InitNavigationControl
Inizializza l'aspetto del controllo corrente della finestra delle proprietà.
virtual CWnd* InitNavigationControl();
Valore restituito
Puntatore alla finestra del controllo finestra delle proprietà.
Osservazioni:
Un controllo finestra delle proprietà può essere visualizzato in diversi formati, ad esempio un set di pagine a schede, un controllo struttura ad albero o un elenco di pulsanti di spostamento. Utilizzare il metodo CMFCPropertySheet::SetLook per specificare l'aspetto del controllo finestra delle proprietà.
CMFCPropertySheet::OnActivatePage
Chiamato dal framework quando una pagina delle proprietà è abilitata.
virtual void OnActivatePage(CPropertyPage* pPage);
Parametri
pPage
[in] Puntatore a un oggetto pagina delle proprietà che rappresenta la pagina delle proprietà abilitata.
Osservazioni:
Per impostazione predefinita, questo metodo garantisce che la pagina delle proprietà abilitata venga visualizzata. Se lo stile della finestra delle proprietà corrente contiene un riquadro di Microsoft Outlook, questo metodo imposta il pulsante di Outlook corrispondente sullo stato selezionato.
CMFCPropertySheet::OnDrawPageHeader
Chiamato dal framework per disegnare l'intestazione per una pagina delle proprietà personalizzata.
virtual void OnDrawPageHeader(
CDC* pDC,
int nPage,
CRect rectHeader);
Parametri
pDC
[in] Puntatore a un contesto di dispositivo.
nPage
[in] Numero di pagina delle proprietà in base zero.
rectHeader
[in] Rettangolo di delimitazione che specifica dove disegnare l'intestazione.
Osservazioni:
Per impostazione predefinita, questo metodo non effettua alcuna operazione. Se si esegue l'override di questo metodo, chiamare il metodo CMFCPropertySheet::EnablePageHeader prima che il framework chiami questo metodo.
CMFCPropertySheet::OnRemoveTreePage
Chiamato dal framework per rimuovere una pagina delle proprietà da un controllo albero.
virtual BOOL OnRemoveTreePage(CPropertyPage* pPage);
Parametri
pPage
[in] Puntatore a un oggetto pagina delle proprietà che rappresenta la pagina delle proprietà da rimuovere.
Valore restituito
TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.
CMFCPropertySheet::RemoveCategory
Rimuove un nodo dal controllo albero.
void RemoveCategory(CMFCPropertySheetCategoryInfo* pCategory);
Parametri
pCategory
[in] Puntatore a una categoria (nodo) da rimuovere.
Osservazioni:
Utilizzare questo metodo per rimuovere un nodo, detto anche categoria, da un controllo albero. Utilizzare il metodo CMFCPropertySheet::AddTreeCategory per aggiungere un nodo a un controllo albero.
CMFCPropertySheet::RemovePage
Rimuove una pagina delle proprietà dalla finestra delle proprietà.
void RemovePage(CPropertyPage* pPage);
void RemovePage(int nPage);
Parametri
pPage
[in] Puntatore all'oggetto pagina delle proprietà che rappresenta la pagina delle proprietà da rimuovere. Non può essere NULL.
nPage
[in] Indice in base zero della pagina da rimuovere.
Osservazioni:
Questo metodo rimuove la pagina delle proprietà specificata e ne elimina definitivamente la finestra associata. L'oggetto pagina delle proprietà specificato dal parametro pPage non viene eliminato definitivamente fino alla chiusura della finestra CMFCPropertySheet .
CMFCPropertySheet::SetIconsList
Specifica l'elenco delle immagini usate nel controllo di navigazione del riquadro di Outlook.
BOOL SetIconsList(
UINT uiImageListResID,
int cx,
COLORREF clrTransparent=RGB(255, 0, 255));
void SetIconsList(HIMAGELIST hIcons);
Parametri
uiImageListResID
[in] ID risorsa di un elenco di immagini.
cx
[in] Larghezza, in pixel, delle icone nell'elenco di immagini.
clrTransparent
[in] Colore dell'immagine trasparente. Le parti dell'immagine che sono questo colore saranno trasparenti. Il valore predefinito è il colore magenta, RGB(255,0,255).
hIcons
[in] Handle per un elenco di immagini esistente.
Valore restituito
Nella sintassi del primo overload del metodo, TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.
Osservazioni:
Se la finestra delle proprietà è nello stile di Microsoft Outlook, il framework visualizza un elenco di pulsanti di spostamento, denominato controllo riquadro di Outlook, a sinistra della finestra delle proprietà. Utilizzare questo metodo per impostare l'elenco di immagini da utilizzare dal controllo riquadro di Outlook.
Per altre informazioni sui metodi che supportano questo metodo, vedere CImageList::Create e CImageList::Add. Per altre informazioni su come impostare lo stile di una finestra delle proprietà, vedere CMFCPropertySheet::SetLook.
CMFCPropertySheet::SetLook
Specifica l'aspetto della finestra delle proprietà.
void SetLook(
PropSheetLook look,
int nNavControlWidth=100);
Parametri
guardare
[in] Uno dei valori di enumerazione che specifica l'aspetto della finestra delle proprietà. Lo stile predefinito per una finestra delle proprietà è CMFCPropertySheet::PropSheetLook_Tabs
. Per altre informazioni, vedere la tabella nella sezione Osservazioni di questo argomento.
nNavControlWidth
[in] Larghezza del controllo di spostamento, espressa in pixel. Il valore predefinito è 100.
Osservazioni:
Per visualizzare una finestra delle proprietà in uno stile diverso da quello predefinito, chiamare questo metodo prima di creare la finestra della finestra della finestra delle proprietà.
Nella tabella seguente sono elencati i valori di enumerazione che è possibile specificare nel parametro look .
valore | Descrizione |
---|---|
CMFCPropertySheet::PropSheetLook_Tabs |
(Impostazione predefinita) Visualizza una scheda per ogni pagina delle proprietà. Le schede vengono visualizzate nella parte superiore della finestra delle proprietà e sono impilate se sono presenti più schede che si adattano a una singola riga. |
CMFCPropertySheet::PropSheetLook_OutlookBar |
Visualizza un elenco di pulsanti di spostamento, nello stile della barra di Microsoft Outlook, sul lato sinistro della finestra delle proprietà. Ogni pulsante nell'elenco corrisponde a una pagina delle proprietà. Il framework visualizza le frecce di scorrimento se sono presenti più pulsanti che si adattano all'area visibile dell'elenco. |
CMFCPropertySheet::PropSheetLook_Tree |
Visualizza un controllo albero sul lato sinistro della finestra delle proprietà. Ogni nodo padre o figlio del controllo albero corrisponde a una pagina delle proprietà. Il framework visualizza le frecce di scorrimento se sono presenti più nodi rispetto all'area visibile del controllo albero. |
CMFCPropertySheet::PropSheetLook_OneNoteTabs |
Visualizza una scheda, nello stile di Microsoft OneNote, per ogni pagina delle proprietà. Il framework visualizza le schede nella parte superiore della finestra delle proprietà e le frecce di scorrimento se sono presenti più schede che si adattano a una singola riga. |
CMFCPropertySheet::PropSheetLook_List |
Visualizza un elenco a sinistra della finestra delle proprietà. Ogni voce di elenco corrisponde a una pagina delle proprietà. Il framework visualizza le frecce di scorrimento se sono presenti più elementi dell'elenco rispetto all'area visibile dell'elenco. |
Vedi anche
Grafico della gerarchia
Classi
Classe CMFCPropertyPage
Classe CMFCOutlookBar