Controlli ActiveX MFC: Pagine delle proprietà
Le pagine delle proprietà consentono all'utente di un controllo ActiveX di visualizzare e modificare le proprietà del controllo stesso.Per accedere a queste proprietà occorre richiamare una finestra di dialogo delle proprietà del controllo contenente una o più pagine delle proprietà che forniscono un'interfaccia grafica personalizzata per la visualizzazione e la modifica delle proprietà del controllo stesso.
Le pagine delle proprietà del controllo ActiveX vengono visualizzate in due modi:
Quando il verbo delle proprietà del controllo (OLEIVERB_PROPERTIES) viene richiamato, il controllo visualizza una finestra di dialogo modale della proprietà contenente le pagine delle proprietà del controllo.
Il contenitore consente di visualizzare la relativa finestra di dialogo non modale che mostra le pagine delle proprietà del controllo selezionato.
La finestra di dialogo delle proprietà (illustrata nella figura seguente) è costituito da un'area per visualizzare la pagina delle proprietà corrente, schede per passare tra le pagine delle proprietà e della raccolta di pulsanti che eseguono attività comuni quali chiudere la finestra di dialogo della pagina delle proprietà, annullante tutte le modifiche apportate, o immediatamente applicando le modifiche al controllo ActiveX.
Finestra di dialogo delle proprietà
In questo articolo riguarda gli argomenti correlati a utilizzare le pagine delle proprietà in un controllo ActiveX.tra cui:
Implementare la pagina della proprietà predefinita per un controllo ActiveX
Aggiunta di controlli a una pagina delle proprietà
Personalizzare la funzione di DoDataExchange
Per ulteriori informazioni sull'utilizzo delle pagine delle proprietà in un controllo ActiveX, vedere gli articoli seguenti:
Controlli ActiveX MFC: Aggiungere semplicemente un'altra pagina delle proprietà personalizzata
Controlli ActiveX MFC: Utilizzando le pagine delle proprietà predefinite
Per informazioni sull'utilizzo delle finestre delle proprietà in un'applicazione MFC diverso da un controllo ActiveX, vedere Finestre delle proprietà (MFC).
Implementare la pagina di proprietà predefinito
Se si utilizza la Creazione guidata controllo ActiveX per creare il progetto di controllo, la Creazione guidata controllo ActiveX fornisce una classe della pagina di proprietà predefinito per il controllo derivato da Classe COlePropertyPage.Inizialmente, questa pagina delle proprietà è vuota, ma è possibile aggiungere qualsiasi controllo finestra di dialogo o gruppo di controlli a.Poiché la Creazione guidata controllo ActiveX crea una sola classe della pagina delle proprietà per impostazione predefinita, le classi aggiuntive della pagina delle proprietà (anche derivate da COlePropertyPage) devono essere creati mediante Visualizzazione classi.Per ulteriori informazioni su questa procedura, vedere Controlli ActiveX MFC: Aggiungere semplicemente un'altra pagina delle proprietà personalizzata.
Implementare una pagina delle proprietà (in questo caso, l'impostazione predefinita) si suddivide in tre passaggi:
Per implementare una pagina delle proprietà
Aggiungere COlePropertyPageclasse derivata al progetto di controllo.Se il progetto è stato creato mediante la Creazione guidata controllo ActiveX (come in questo caso, la classe della pagina della proprietà predefinita già esistente.
Utilizzare l'editor finestre di dialogo per aggiungere i controlli al modello di pagina delle proprietà.
Personalizzare la funzione di COlePropertyPageclasse derivata di DoDataExchange ai valori di scambio tra il controllo della pagina delle proprietà e del controllo ActiveX.
Ad esempio gli scopi, le procedure riportate di seguito viene utilizzato un controllo semplice (denominato “esempio„).L'esempio è stato creato mediante la Creazione guidata controllo ActiveX e contiene solo la proprietà predefinita della barra del titolo.
Aggiunta di controlli a una pagina delle proprietà
Per aggiungere controlli a una pagina delle proprietà
Con il progetto di controllo aprire, aprire la Visualizzazione risorse.
Fare doppio clic sull'icona della directory di Dialog .
Aprire la finestra di dialogo di IDD_PROPPAGE_SAMPLE .
La Creazione guidata controllo ActiveX al nome del progetto alla fine dell'ID della finestra di dialogo, in questo caso, ad esempio.
Trascinare il controllo selezionato dalla casella degli strumenti nell'area della finestra di dialogo.
Per questo esempio, la barra del titolo di un controllo etichetta di testo “: „ e un controllo casella di modifica con un identificatore di IDC_CAPTION è sufficiente.
Fare clic Salva sulla barra degli strumenti per salvare le modifiche.
Ora che l'interfaccia utente è stata modificata, è necessario collegare la casella di modifica alla proprietà della barra del titolo.Questa operazione viene eseguita nella sezione seguente modificando la funzione di CSamplePropPage::DoDataExchange .
Personalizzare la funzione di DoDataExchange
La funzione di CWnd::DoDataExchange della pagina delle proprietà consente ai valori della pagina delle proprietà del collegamento con valori effettivi delle proprietà nel controllo.Per stabilire i collegamenti, è necessario eseguire il mapping dei campi appropriati della pagina delle proprietà con le rispettive proprietà del controllo.
Questi mapping vengono implementati mediante le funzioni di DDP_ della pagina delle proprietà.Il lavoro di funzioni di DDP_ come funzioni di DDX_ utilizzate nelle finestre di dialogo standard di MFC, con un'eccezione.Oltre al riferimento a una variabile membro, le funzioni di DDP_ accettano il nome della proprietà del controllo.Di seguito viene riportata una voce tipica nella funzione di DoDataExchange per una pagina delle proprietà.
DDP_Text(pDX, IDC_CAPTION, m_caption, _T("Caption"));
Questa funzione associa la variabile membro di m_caption della pagina delle proprietà con la barra del titolo, utilizzando la funzione di DDP_TEXT .
Dopo aver effettuato il controllo della pagina delle proprietà inserire, è necessario stabilire un collegamento tra il controllo della pagina delle proprietà, IDC_CAPTIONe effettiva proprietà del controllo, barra del titolo, utilizzando la funzione di DDP_Text come descritto in precedenza.
Pagine delle proprietà (MFC) è disponibile per altri tipi di controllo della finestra di dialogo, quali caselle di controllo, i pulsanti di opzione e le caselle di riepilogo.Nella tabella seguente sono elencate l'intero set di pagina delle proprietà DDP_ viene eseguito e i propri scopi:
Funzioni della pagina delle proprietà
Nome funzione |
Utilizzare questa funzione per creare un collegamento |
---|---|
DDP_CBIndex |
Indice della stringa selezionata in una casella combinata con una proprietà del controllo. |
DDP_CBString |
La stringa selezionata in una casella combinata con una proprietà del controllo.La stringa selezionata possibile iniziare con le stesse lettere del valore della proprietà ma non è necessario corrisponderla completamente. |
DDP_CBStringExact |
La stringa selezionata in una casella combinata con una proprietà del controllo.La stringa selezionata e il valore string della proprietà devono corrispondere esattamente. |
DDP_Check |
Una casella di controllo con una proprietà del controllo. |
DDP_LBIndex |
Indice della stringa selezionata in una casella di riepilogo con una proprietà del controllo. |
DDP_LBString |
La stringa selezionata in una casella di riepilogo con una proprietà del controllo.La stringa selezionata possibile iniziare con le stesse lettere del valore della proprietà ma non è necessario corrisponderla completamente. |
DDP_LBStringExact |
La stringa selezionata in una casella di riepilogo con una proprietà del controllo.La stringa selezionata e il valore string della proprietà devono corrispondere esattamente. |
DDP_Radio |
Un pulsante di opzione a una proprietà del controllo. |
DDP_Text |
Testo con una proprietà del controllo. |