Condividi tramite


Gestire il pulsante di applicare

Le finestre delle proprietà hanno una funzionalità che le finestre di dialogo standard non fanno: Consentono all'utente sulle modifiche apportate prima di chiudere la finestra delle proprietà.Questa operazione viene eseguita utilizzando il pulsante di applicare.Questo articolo vengono illustrati i metodi che è possibile utilizzare per implementare questa funzionalità correttamente.

Le finestre di dialogo modali generalmente applicate le impostazioni a un oggetto esterno quando l'utente fa clic su OK per chiudere la finestra di dialogo.Lo stesso vale per una finestra delle proprietà: Quando l'utente fa clic su OK, le nuove impostazioni nella finestra delle proprietà hanno effetto.

Tuttavia, potrebbe essere necessario consentire all'utente di salvare le impostazioni senza chiudere la finestra di dialogo delle proprietà.Si tratta della funzione del pulsante dell'applicazione.Il pulsante di applicare applicare le impostazioni correnti in tutte le pagine delle proprietà all'oggetto esterno, invece di applicare solo le impostazioni correnti attualmente alla pagina attiva.

Per impostazione predefinita, il pulsante dell'applicazione è disabilitato sempre.È necessario scrivere il codice per abilitare il pulsante di applicare ai tempi previsti ed è necessario scrivere codice per implementare l'effetto Apply, come illustrato di seguito.

Se non si desidera fornire la funzionalità di applicare all'utente, non è necessario rimuovere il pulsante dell'applicazione.È possibile lasciare disabilitato, ad esempio essere comune tra le applicazioni che utilizzano il supporto standard della finestra delle proprietà disponibile nelle versioni future di windows.

Per segnalare una pagina come modificando e abilitare il pulsante dell'applicazione, chiamare CPropertyPage::SetModified( TRUE ).Se una qualsiasi delle pagine riferimento essere modificato, il pulsante dell'applicazione resterà attualmente attivato, indipendentemente dal fatto che nella pagina attiva è stata modificata.

È necessario chiamare CPropertyPage::SetModified ogni volta che l'utente modifica le impostazioni nella pagina.Un modo per rilevare quando un utente modifica un'impostazione nella pagina è implementare i gestori di notifica delle modifiche per ognuno dei controlli nella pagina delle proprietà, come EN_CHANGE o BN_CLICKED.

Per implementare l'effetto del pulsante dell'applicazione, la finestra delle proprietà necessario che il proprietario, o un altro oggetto esterno nell'applicazione, applicare le impostazioni correnti nelle pagine delle proprietà.Contemporaneamente, la finestra delle proprietà deve disabilitare il pulsante dell'applicazione chiamando CPropertyPage::SetModified( FALSE ) per tutte le pagine che venivano applicate le modifiche nell'oggetto esterno.

Per un esempio di questo processo, vedere a MFC in generale PROPDLG.

Vedere anche

Concetti

Finestre delle proprietà (MFC)