Condividi tramite


Controlli ActiveX MFC: pagine delle proprietà

Le pagine delle proprietà consentono a un utente del controllo ActiveX di visualizzare e modificare le proprietà del controllo ActiveX. Queste proprietà sono accessibili richiamando una finestra di dialogo delle proprietà del controllo, che contiene una o più pagine delle proprietà che forniscono un'interfaccia grafica personalizzata per visualizzare e modificare le proprietà del controllo.

Importante

ActiveX è una tecnologia legacy che non deve essere usata per il nuovo sviluppo. Per altre informazioni sulle tecnologie moderne che sostituisce ActiveX, vedere Controlli ActiveX.

Le pagine delle proprietà del controllo ActiveX vengono visualizzate in due modi:

  • Quando viene richiamato il verbo Proprietà del controllo (OLEIVERB_PROPERTIES), il controllo apre una finestra di dialogo delle proprietà modale contenente le pagine delle proprietà del controllo.

  • Il contenitore può visualizzare la propria finestra di dialogo senza modalità che mostra le pagine delle proprietà del controllo selezionato.

La finestra di dialogo delle proprietà (illustrata nella figura seguente) è costituita da un'area per visualizzare la pagina delle proprietà corrente, le schede per il passaggio tra le pagine delle proprietà e una raccolta di pulsanti che eseguono attività comuni, ad esempio la chiusura della finestra di dialogo della pagina delle proprietà, l'annullamento di eventuali modifiche apportate o l'applicazione immediata di eventuali modifiche al controllo ActiveX.

Properties dialog box for Circ3.
Finestra di dialogo Proprietà

Questo articolo illustra gli argomenti relativi all'uso delle pagine delle proprietà in un controllo ActiveX. tra cui:

Per altre informazioni sull'uso delle pagine delle proprietà in un controllo ActiveX, vedere gli articoli seguenti:

Per informazioni sull'uso di finestre delle proprietà in un'applicazione MFC diversa da un controllo ActiveX, vedere Finestre delle proprietà.

Implementazione della pagina delle proprietà predefinita

Se si utilizza la Creazione guidata controllo ActiveX per creare il progetto di controllo, la Creazione guidata controllo ActiveX fornisce una classe di pagina delle proprietà predefinita per il controllo derivato dalla classe COlePropertyPage. Inizialmente, questa pagina delle proprietà è vuota, ma è possibile aggiungere qualsiasi controllo o set di controlli della finestra di dialogo. Poiché la Creazione guidata controllo ActiveX crea una sola classe di pagine delle proprietà per impostazione predefinita, è necessario creare classi di pagine delle proprietà aggiuntive (derivate anche da COlePropertyPage) usando Visualizzazione classi. Per altre informazioni su questa procedura, vedere Controlli ActiveX MFC: Aggiunta di un'altra pagina delle proprietà personalizzata.

L'implementazione di una pagina delle proprietà (in questo caso, l'impostazione predefinita) è un processo in tre passaggi:

Per implementare una pagina delle proprietà

  1. Aggiungere una COlePropertyPageclasse derivata da al progetto di controllo. Se il progetto è stato creato usando la Creazione guidata controllo ActiveX (come in questo caso), la classe della pagina delle proprietà predefinita esiste già.

  2. Usare l'editor di dialoghi per aggiungere controlli al modello di pagina delle proprietà.

  3. Personalizzare la DoDataExchange funzione della COlePropertyPageclasse derivata da -per scambiare valori tra il controllo pagina delle proprietà e il controllo ActiveX.

A scopo di esempio, le procedure seguenti usano un controllo semplice (denominato "Sample"). L'esempio è stato creato usando la Creazione guidata controllo ActiveX e contiene solo la proprietà Titolo azionario.

Aggiunta di controlli a una pagina delle proprietà

Per aggiungere controlli a una pagina delle proprietà

  1. Con il progetto di controllo aperto, aprire Visualizzazione risorse.

  2. Fare doppio clic sull'icona della directory Dialog .

  3. Aprire la finestra di dialogo IDD_PROPPAGE_SAMPLE.

    La Creazione guidata controllo ActiveX aggiunge il nome del progetto alla fine dell'ID finestra di dialogo, in questo caso Sample.

  4. Trascinare e rilasciare il controllo selezionato dalla casella degli strumenti nell'area della finestra di dialogo.

  5. Per questo esempio, un controllo etichetta di testo "Caption :" e un controllo casella di modifica con un identificatore di IDC_CAPTION sono sufficienti.

  6. Fare clic su Salva sulla barra degli strumenti per salvare le modifiche.

Ora che l'interfaccia utente è stata modificata, è necessario collegare la casella di modifica alla proprietà Caption. Questa operazione viene eseguita nella sezione seguente modificando la CSamplePropPage::DoDataExchange funzione .

Personalizzazione della funzione DoDataExchange

La pagina delle proprietà CWnd::D oDataExchange consente di collegare i valori della pagina delle proprietà con i valori effettivi delle proprietà nel controllo. Per stabilire collegamenti, è necessario eseguire il mapping dei campi della pagina delle proprietà appropriati alle rispettive proprietà del controllo.

Questi mapping vengono implementati usando la pagina delle proprietà DDP_ funzioni. Le funzioni DDP_ funzionano come le funzioni DDX_ usate nelle finestre di dialogo MFC standard, con un'unica eccezione. Oltre al riferimento a una variabile membro, DDP_ funzioni accettano il nome della proprietà del controllo. Di seguito è riportata una voce tipica nella DoDataExchange funzione per una pagina delle proprietà.

DDP_Text(pDX, IDC_CAPTION, m_caption, _T("Caption"));

Questa funzione associa la variabile membro m_didascalia della pagina delle proprietà alla didascalia, usando la DDP_TEXT funzione .

Dopo aver inserito il controllo pagina delle proprietà, è necessario stabilire un collegamento tra il controllo della pagina delle proprietà, IDC_CAPTION e la proprietà effettiva del controllo Caption usando la DDP_Text funzione come descritto in precedenza.

Le pagine delle proprietà sono disponibili per altri tipi di controllo della finestra di dialogo, ad esempio caselle di controllo, pulsanti di opzione e caselle di riepilogo. La tabella seguente elenca l'intero set di pagine delle proprietà DDP_ funzioni e i relativi scopi:

Funzioni pagina delle proprietà

Nome della funzione Usare questa funzione per collegare
DDP_CBIndex Indice della stringa selezionata in una casella combinata con una proprietà del controllo.
DDP_CBString Stringa selezionata in una casella combinata con una proprietà del controllo. La stringa selezionata può iniziare con le stesse lettere del valore della proprietà, ma non deve corrispondere completamente.
DDP_CBStringExact Stringa selezionata in una casella combinata con una proprietà del controllo. La stringa selezionata e il valore stringa della proprietà devono corrispondere esattamente.
DDP_Check 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 Stringa selezionata in una casella di riepilogo con una proprietà del controllo. La stringa selezionata può iniziare con le stesse lettere del valore della proprietà, ma non deve corrispondere completamente.
DDP_LBStringExact Stringa selezionata in una casella di riepilogo con una proprietà del controllo. La stringa selezionata e il valore stringa della proprietà devono corrispondere esattamente.
DDP_Radio Pulsante di opzione con una proprietà del controllo.
DDP_Text Testo con una proprietà del controllo.

Vedi anche

Controlli ActiveX MFC
Classe COlePropertyPage