Compartir a través de


Especificar páginas de propiedades

Al crear un control ActiveX, a menudo querrá asociarlo a las páginas de propiedades que se pueden usar para establecer las propiedades del control. Los contenedores de control usan la interfaz ISpecifyPropertyPages para averiguar qué páginas de propiedades se pueden usar para establecer las propiedades del control. Tendrá que implementar esta interfaz en el control.

Para implementar ISpecifyPropertyPages con ATL, siga estos pasos:

  1. Derive la clase de ISpecifyPropertyPagesImpl.

  2. Agregue una entrada para ISpecifyPropertyPages al mapa COM de la clase.

  3. Agregue una entrada PROP_PAGE al mapa de propiedades para cada página asociada al control.

Nota:

Al generar un control estándar mediante el Asistente para controles ATL, solo tendrá que agregar las entradas PROP_PAGE al mapa de propiedades. El asistente genera el código necesario para los demás pasos.

Los contenedores que se comportan correctamente mostrarán las páginas de propiedades especificadas en el mismo orden que las entradas PROP_PAGE del mapa de propiedades. Por lo general, debe colocar entradas de página de propiedades estándar después de las entradas de las páginas personalizadas en el mapa de propiedades, para que los usuarios vean primero las páginas específicas del control.

Ejemplo

La siguiente clase para un control de calendario usa la interfaz ISpecifyPropertyPages para indicar a los contenedores que sus propiedades se pueden establecer mediante una página de fecha personalizada y la página de color estándar.

class ATL_NO_VTABLE CMyCtrl :
   OtherInterfaces
   public ISpecifyPropertyPagesImpl<CMyCtrl>
{
public:

BEGIN_COM_MAP(CMyCtrl)
   OtherComMapEntries
   COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
END_COM_MAP()

BEGIN_PROP_MAP(CMyCtrl)
   OtherPropMapEntries
   PROP_PAGE(CLSID_DatePage)
   PROP_PAGE(CLSID_StockColorPage)
END_PROP_MAP()

   // Remainder of class declaration omitted.

Consulte también

Páginas de propiedades
Ejemplos de Visual C++