Compartir a través de


Interfaz IColumnProvider (shlobj.h)

Expone métodos que habilitan la adición de columnas personalizadas en la vista Detalles del Explorador de Windows.

Nota La compatibilidad con IColumnProvider se ha quitado a partir de Windows Vista. El sistema de propiedades de Windows se usa en su lugar. Consulta Sistema de propiedades de Windows para obtener materiales conceptuales que explican el uso del nuevo sistema.
 

Herencia

La interfaz IColumnProvider hereda de la interfaz IUnknown . IColumnProvider también tiene estos tipos de miembros:

Métodos

La interfaz IColumnProvider tiene estos métodos.

 
IColumnProvider::GetColumnInfo

Solicita información sobre una columna.
IColumnProvider::GetItemData

Solicita datos de columna para un archivo especificado.
IColumnProvider::Initialize

Inicializa una interfaz IColumnProvider.

Comentarios

La vista Detalles del Explorador de Windows normalmente muestra varias columnas estándar. Cada columna muestra información, como el tamaño o el tipo de archivo, para cada archivo de la carpeta actual. También puede haber una serie de columnas que el usuario puede elegir mostrar. Cuando el usuario hace clic con el botón derecho en uno de los encabezados de columna, se muestra una lista de las columnas disponibles en un cuadro de diálogo. Al crear un objeto de proveedor de columnas que exporta la interfaz IColumnProvider , puede agregar columnas personalizadas a ese cuadro de diálogo para su presentación mediante el Explorador de Windows. Por ejemplo, una colección de archivos que contienen música podría usar un proveedor de columnas para mostrar las columnas que enumeran el artista y la pieza contenidas en cada archivo.

Un proveedor de columnas es un objeto global al que se llama cada vez que el Explorador de Windows muestra la vista Detalles. El Explorador de Windows consulta todos los proveedores de columnas registrados para sus características de columna. Si el usuario ha seleccionado una de las columnas del proveedor de columnas, el Explorador de Windows consulta el proveedor de columnas para los datos asociados para cada archivo de la carpeta. A continuación, muestra todas las columnas seleccionadas.

Normalmente, los proveedores de columnas se usan para mostrar una o varias columnas personalizadas para un tipo de archivo determinado. Cuando un proveedor de columnas recibe una solicitud de datos, lo proporciona si el archivo es miembro de su tipo admitido. De lo contrario, omite la solicitud devolviendo S_FALSE.

Las columnas se identifican mediante una estructura SHCOLUMNID que contiene un par de pid fmtid/. Si es posible, use fmtids y pids existentes. Si una carpeta contiene archivos de más de un tipo de archivo, los datos de distintos tipos se pueden combinar en la misma columna. Por ejemplo, el pid Author del conjunto de propiedades de información de resumen se puede usar para una amplia variedad de propósitos. Si usa una estructura SHCOLUMNID personalizada, la columna mostrará datos solo para los archivos que son miembros del tipo admitido. Si la carpeta contiene otros archivos, sus entradas estarán en blanco.

Implemente un objeto que exporte esta interfaz cuando desee que se muestren una o varias columnas personalizadas en la vista Detalles del Explorador de Windows. El Explorador de Windows llama a los métodos de interfaz para solicitar la información que necesita para mostrar la columna. El procedimiento usado por el Explorador de Windows es el siguiente:

  1. Llame a IColumnProvider::Initialize para especificar la carpeta que se va a mostrar.
  2. Llame a IColumnProvider::GetColumnInfo para recuperar las características de la columna.
  3. Si el usuario ha seleccionado la columna, llame a IColumnProvider::GetItemData para cada archivo de la carpeta para recuperar los datos que pertenecen a la entrada de columna del archivo.
Además del registro normal del modelo de objetos componentes (COM), el objeto de proveedor de columnas también debe estar registrado con el Explorador de Windows. Para ello, agregue una subclave denominada con la forma de cadena del GUID del objeto a esta clave.
HKEY_CLASSES_ROOT
   Folder
      shellex
         ColumnHandlers

El Explorador de Windows llama a esta interfaz. Normalmente no lo usan las aplicaciones.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shlobj.h