Utilizzo delle finestre delle proprietà nell'applicazione

Per utilizzare una finestra delle proprietà nell'applicazione, completare i passaggi seguenti:

  1. Creare una risorsa modello di finestra di dialogo per ogni pagina delle proprietà. Tenere presente che l'utente può passare da una pagina a un'altra, pertanto disporre ogni pagina nel modo più coerente possibile.

    I modelli di finestra di dialogo per tutte le pagine non devono avere le stesse dimensioni. Il framework utilizza la dimensione della pagina più ampia per determinare la quantità di spazio da allocare nella finestra delle proprietà per le pagine delle proprietà.

    Quando si crea una risorsa modello di finestra di dialogo per una pagina delle proprietà, è necessario specificare i seguenti stili nella finestra delle proprietà relativa alle proprietà della finestra di dialogo:

    • Impostare la casella di modifica Didascalia nella pagina Generale sul testo che si desidera visualizzare nella scheda per questa pagina.

    • Impostare la casella di riepilogo Stile nella pagina Stili su Figlio.

    • Impostare la casella di riepilogo Bordo nella pagina Stili su Sottile.

    • Verificare che la casella di controllo Barra titolo nella pagina Stili sia selezionata.

    • Verificare che la casella di controllo Disabilitata nella pagina Altri stili sia selezionata.

  2. Creare una classe derivata da CPropertyPage corrispondente a ogni modello di finestra di dialogo della pagina delle proprietà. Vedere Aggiunta di una classe. Scegliere CPropertyPage come classe base.

  3. Creare le variabili membro per contenere i valori per questa pagina delle proprietà. Il processo di aggiunta delle variabili membro a una pagina delle proprietà è esattamente uguale all'aggiunta di variabili membro a una finestra di dialogo, perché una pagina delle proprietà è una finestra di dialogo specializzata. Per altre informazioni, vedere Definizione delle variabili membro per i controlli finestra di dialogo.

  4. Costruire un oggetto CPropertySheet nel codice sorgente. In genere, si crea l'oggetto CPropertySheet nel gestore per il comando che visualizza la finestra delle proprietà. Questo oggetto rappresenta l'intera finestra delle proprietà. Se si crea una finestra delle proprietà modale con la funzione DoModal , il framework fornisce tre pulsanti di comando per impostazione predefinita: OK, Annulla e Applica. Il framework non crea pulsanti di comando per le finestre delle proprietà senza modalità create con la funzione Create . Non è necessario derivare una classe da CPropertySheet, a meno che non si aggiungano altri controlli (ad esempio una finestra di anteprima) o si visualizzi una finestra delle proprietà non modale. Questo passaggio è necessario per le finestre delle proprietà non modali perché non contengono controlli predefiniti che possano essere utilizzati per chiudere la finestra delle proprietà.

  5. Per ogni pagina da aggiungere alla finestra delle proprietà, effettuare le seguenti operazioni:

    • Creare un oggetto per ciascuna classe derivata da CPropertyPage che è stata precedentemente creata in questo processo.

    • Chiamare CPropertySheet::AddPage per ogni pagina.

    In genere, l'oggetto che crea CPropertySheet crea anche gli oggetti CPropertyPage in questo passaggio. Tuttavia, se si implementa la classe derivata da CPropertySheet, è possibile incorporare gli oggetti CPropertyPage nell'oggetto CPropertySheet e chiamare AddPage per ogni pagina dal costruttore della classe derivata da CPropertySheet. AddPage aggiunge l'oggetto CPropertyPage all'elenco di pagine della finestra delle proprietà, ma non crea la finestra per la pagina. Di conseguenza, non è necessario attendere fino alla creazione della finestra delle proprietà per chiamare AddPage; è possibile chiamare AddPage dal costruttore della finestra delle proprietà.

    Per impostazione predefinita, se una finestra delle proprietà dispone di più schede di quelle che può contenere in una singola riga della finestra delle proprietà, le schede vengono impilate su più righe. Per disabilitare lo stacking, chiamare CPropertySheet::EnableStackedTabs con il parametro impostato su FAL edizione Standard. È necessario chiamare EnableStackedTabs quando si crea la finestra delle proprietà.

  6. Chiama CPropertySheet::D oModal o Crea per visualizzare la finestra delle proprietà. Chiamare DoModal per creare una finestra delle proprietà come finestra di dialogo modale. Chiamare Crea per creare la finestra delle proprietà come finestra di dialogo senza modalità.

  7. Scambiare i dati tra le pagine delle proprietà e il proprietario della finestra delle proprietà. Questo è illustrato nell'articolo Scambio di dati.

Per un esempio di come usare le finestre delle proprietà, vedere l'esempio generale MFC PROPDLG.

Vedi anche

Finestre delle proprietà