Controlli ActiveX MFC: Aggiungere semplicemente un'altra pagina delle proprietà personalizzata
Talvolta, un controllo ActiveX avrà più proprietà che potrà accedere adattarsi a una pagina delle proprietà.In questo caso, è possibile aggiungere pagine delle proprietà al controllo ActiveX per visualizzare queste proprietà.
In questo articolo viene illustrato aggiungere nuove pagine delle proprietà in un controllo ActiveX che già dispone almeno una pagina delle proprietà.Per ulteriori informazioni sulle pagine delle proprietà delle operazioni di aggiunta (font, immagini, colori o), vedere l'articolo Controlli ActiveX MFC: Utilizzando le pagine delle proprietà predefinite.
Le procedure riportate di seguito viene utilizzato un framework di controlli ActiveX di esempio creato da Creazione guidata controllo ActiveX.Di conseguenza, i nomi delle classi e gli identificatori univoci a questo esempio.
Per ulteriori informazioni sull'utilizzo delle pagine delle proprietà in un controllo ActiveX, vedere gli articoli seguenti:
Controlli ActiveX MFC: Utilizzando le pagine delle proprietà predefinite
[!NOTA]
Si consiglia delle nuove pagine delle proprietà sono conformi allo standard di dimensioni per le pagine delle proprietà del controllo ActiveX.Le pagine delle proprietà predefinite di colore e image misurano le unità della finestra di dialogo 250x62 (DLU).La pagina standard della proprietà del tipo di carattere è 250x110 DLU.La pagina di proprietà predefinito creato da Creazione guidata controllo ActiveX utilizza lo standard 250x62 DLU.
Per inserire un nuovo modello di pagina delle proprietà del progetto
Con il progetto di controllo aprire, aprire la Visualizzazione risorse nell'area di lavoro del progetto.
Fare clic con il pulsante destro del mouse in Visualizzazione risorse per aprire il menu di scelta rapida e fare clic Aggiungi risorsa.
Espandere il nodo di Dialog e selezionare IDD_OLE_PROPPAGE_SMALL.
Fare clic New per aggiungere la risorsa al progetto.
Selezionare il nuovo modello di pagina delle proprietà per aggiornare la Finestra Proprietà.
fornire un nuovo valore per la proprietà di ID .In questo esempio viene utilizzato IDD_PROPPAGE_NEWPAGE.
Fare clic su Salva sulla barra degli strumenti.
Per associare il nuovo modello con una classe
Aprire Visualizzazione classi.
Fare clic con il pulsante destro del mouse in Visualizzazione classi per aprire il menu di scelta rapida.
Scegliere Aggiungi dal menu di scelta rapida, quindi Aggiungi classe.
Verrà visualizzata la finestra di dialogo di aggiungere la classe .
Fare doppio clic sul modello di MFC Class .
Nella casella Nome classe in Creazione guidata classe MFC, digitare un nome per la nuova classe della finestra di dialogo.In questo esempio, CAddtlPropPage).
Se si desidera modificare i nomi di file, fare clic Modifica.Digitare i nomi dell'implementazione e file di intestazione, o accettare i nomi predefiniti.
Nella casella di Base Class , COlePropertyPageselezionato.
Nella casella di Dialog ID , IDD_PROPPAGE_NEWPAGEselezionato.
Scegliere Fine per creare la classe.
Per consentire agli utenti del controllo su questa nuova pagina delle proprietà, apportare le modifiche seguenti sezione della pagina delle proprietà ID del controllo alla macro che si trova nel file di implementazione del controllo):
BEGIN_PROPPAGEIDS(CMyAxUICtrl, 2)
PROPPAGEID(CMyAxUIPropPage::guid)
PROPPAGEID(CAddtlPropPage::guid)
END_PROPPAGEIDS(CMyAxUICtrl)
Si noti che è necessario aumentare il secondo parametro di una macro di BEGIN_PROPPAGEIDS (il conteggio) della pagina delle proprietà 1 - 2.
È inoltre necessario modificare il file di implementazione di controllo (.CPP) per includere l'intestazione (. H) file di una nuova classe della pagina delle proprietà.
Il passaggio successivo consiste nel creare due risorse di tipo stringa che forniranno un nome di tipo e una didascalia per la nuova pagina delle proprietà.
Per aggiungere nuove risorse di tipo stringa a una pagina delle proprietà
Con il progetto di controllo aprire, aprire la Visualizzazione risorse.
Fare doppio clic sulla cartella di Tabella delle stringhe quindi fare doppio clic sulla risorsa esistente della tabella di stringhe a cui si desidera aggiungere una stringa.
Verrà visualizzata la tabella di stringhe in una finestra.
Selezionare la riga vuota alla fine della tabella di stringhe e digitare il testo, o la barra del titolo, la stringa: ad esempio, “pagina delle proprietà aggiuntive.„
Viene visualizzata una pagina di String Properties che mostra Didascalia e le caselle di ID .La casella di Didascalia contiene la stringa digitata.
Nella casella di ID , selezionare o immettere un ID per la stringa.Premere immette una volta.
In questo esempio viene utilizzato IDS_SAMPLE_ADDPAGE per il nome del tipo di una nuova pagina delle proprietà.
Ripetere i passaggi 3 e 4 utilizzando IDS_SAMPLE_ADDPPG_CAPTION per l'ID e “la pagina delle proprietà aggiuntive„ per la barra del titolo.
Nel file di .CPP della nuova classe della pagina delle proprietà (in questo esempio, CAddtlPropPage) modificare CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry in modo che IDS_SAMPLE_ADDPAGE venga passato da AfxOleRegisterPropertyPageClass, come nel seguente esempio:
BOOL CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry(BOOL bRegister) { if (bRegister) return AfxOleRegisterPropertyPageClass(AfxGetInstanceHandle(), m_clsid, IDS_SAMPLE_ADDPAGE); else return AfxOleUnregisterClass(m_clsid, NULL); }
Modificare il costruttore di CAddtlPropPage in modo da passare IDS_SAMPLE_ADDPPG_CAPTION al costruttore di COlePropertyPage , come segue:
CAddtlPropPage::CAddtlPropPage() : COlePropertyPage(IDD, IDS_SAMPLE_ADDPPG_CAPTION) { }
Dopo aver effettuato la ricompilazione necessaria di modifiche il progetto e utilizzare Test Container per testare la nuova pagina delle proprietà.Per ulteriori informazioni sulla modalità di accesso a Test Container, vedere Verifica di proprietà ed eventi tramite Test Container.