Control SelectionTree

Este control permite al usuario cambiar el estado de selección de las características enumeradas en la tabla Feature. El control está asociado a una propiedad con valores de cadena que el usuario puede establecer mediante un cuadro de diálogo Examinar. Puede asociar este control a una propiedad si escribe el nombre de la propiedad en la columna Propiedad de la tabla Control.

El control SelectionTree publica automáticamente los siguientes Eventos de control en Windows XP o en sistemas operativos anteriores. El control SelectionTree publica estos eventos cuando el elemento seleccionado cambia de un nodo a otro. Si el árbol de selección no tiene nodos, el control publica estos eventos y borra el contenido de los controles que se suscriben al evento. No es necesario que estos ControlEvents aparezcan en la tabla ControlEvent.

Evento de control Descripción
SelectionAction Publica una cadena de la tabla UIText que describe el elemento resaltado.
SelectionBrowse Genera un cuadro de diálogo Examinar que se usa para modificar la ruta de acceso del elemento resaltado.
SelectionDescription Publica una cadena de la tabla Feature que describe el elemento resaltado.
SelectionNoItems Elimina el texto descriptivo o deshabilita los botones de un elemento obsoleto.
SelectionPath Publica la ruta de acceso del elemento resaltado.
SelectionPathOn Publica si hay o no una ruta de selección asociada a la característica seleccionada actualmente.
SelectionSize Publica el tamaño del elemento resaltado.

 

A partir de los sistemas de Windows Server 2003, los controles SelectionTree publican todos los eventos de la tabla anterior y, además, publican un ControlEvent de DoAction o un ControlEvent de SetProperty. Los registros se deben agregar a la tabla ControlEvent para publicar ControlEvents de DoAction o SetProperty.

Evento de control Descripción
DoAction Notifica al instalador que ejecute una acción personalizada.
SetProperty Establece una propiedad en un valor nuevo.

 

A partir de la versión 3.0 de Windows Installer, los controles de SelectionTree publican un evento que ejecuta acciones personalizadas enumeradas en la tabla ControlEvent. El control SelectionTree publica este evento cada vez que la selección de características cambia en el control o cada vez que se elige un estado de selección diferente para la característica actual. Las acciones personalizadas se ejecutan cada vez que se publica el evento. El control SelectionTree envía información a la acción personalizada estableciendo los valores de las siguientes propiedades. Todas estas propiedades se borran cuando se cierra el control SelectionTree.

Windows Installer 2.0: No se admite. El control SelectionTree no publica el evento y no establece las siguientes propiedades.

Propiedad Descripción
MsiSelectionTreeSelectedFeature El nombre de la característica seleccionada en el campo Feature de la tabla Feature.
MsiSelectionTreeSelectedAction Estado de acción de instalación de la característica seleccionada. El valor puede ser INSTALLSTATE_ABSENT, INSTALLSTATE_LOCAL, INSTALLSTATE_SOURCE o INSTALLSTATE_ADVERTISED.
MsiSelectonTreeChildrenCount Número de nodos secundarios directos.
MsiSelectionTreeInstallingChildrenCount Número de nodos secundarios directos que sean INSTALLSTATE_LOCAL, INSTALLSTATE_SOURCE o INSTALLSTATE_ADVERTISED.
MsiSelectionTreeSelectedCost Coste de instalar la característica seleccionada en unidades de 512 bytes.
MsiSelectionTreeChildrenCost Coste de instalar todas las características secundarias en unidades de 512 bytes.
MsiSelectionTreeSelectedPath Ruta de acceso en la que se está instalando la característica seleccionada. Se define solo si la característica se está instalando como INSTALLSTATE_LOCAL.

 

Nota:

El control SelectionTree nunca muestra el contenido del campo Text de la tabla Control. En su lugar, este campo especifica el estilo de texto que va a mostrar el control y contiene una descripción del control utilizado por las herramientas de lectura de pantalla. Para establecer la fuente y el estilo de fuente de una cadena de texto, anteponga la cadena de caracteres mostrados con {\style} o {&style}. Donde style es un identificador que aparece en la columna TextStyle de la tabla TextStyle. Si ninguno de estos elementos está presente, pero la propiedad DefaultUIFont se define como un estilo de texto válido, se usa esa fuente. La siguiente información se lee mediante las herramientas de lectura de pantalla como la descripción del control. Consulte Accesibilidad.

 

Atributos de control

Puede usar los atributos siguientes con este control. Para cambiar el valor de un atributo mediante un evento, suscriba el control a un ControlEvent en la tabla EventMapping y enumere el identificador del atributo en la columna Attribute. Escriba el identificador de ControlEvent en la columna Event.

Identificador de atributo Bit hexadecimal Descripción
IndirectPropertyName Nombre de una propiedad indirecta asociada al control. Si se establece el bit de atributo Indirect, el control muestra o cambia el valor de la propiedad que tiene este nombre. Si se establece el bit de atributo indirecto, este nombre también es el valor de la propiedad que aparece en la columna Property de la tabla Control.
Posición Posición del control en el cuadro de diálogo. Especifique el ancho, el alto y las coordenadas del control de la esquina izquierda del control en las columnas Width, Height, X e Y de la tabla Control. Use unidades del instalador para la longitud y la distancia.
PropertyName Nombre de la propiedad asociada al control. Si no se establece el bit de atributo Indirect, el control muestra o cambia el valor de la propiedad que tiene este nombre. Este atributo se especifica en la columna Property de la tabla Control.
PropertyValue Valor actual de la propiedad mostrada o modificada por este control. Si no se establece el bit de atributo Indirect, este es el valor de PropertyName. Si se establece el bit de atributo Indirect, este es el valor de IndirectPropertyName. Si el atributo cambia, el control refleja el nuevo valor.
Texto Muestra texto en los lectores de pantalla según el texto escrito en la columna Text de la tabla Control. Consulte Accesibilidad.
Visible 0x00000000 0x00000001
Control oculto. Control visible.
Incluya este bit en la palabra de bits de la columna Attributes de la tabla Control para que el control esté visible u oculto al crearlo.
Un control se puede ocultar o mostrar también mediante la tabla ControlCondition.
Enabled 0x00000000 0x00000002
Control en estado deshabilitado. Control con el estado habilitado.
Incluya este bit en la palabra de bits de la columna Attributes de la tabla Control para habilitar el control al crearlo.
También se puede habilitar o deshabilitar un control mediante la tabla ControlCondition.
Sunken 0x00000000 0x00000004
Muestra el estilo visual predeterminado. Muestra el control con un aspecto 3D, con profundidad.
Incluya estos bits en la palabra bit de la columna Attributes de la tabla Control.
Indirecto 0x00000000 0x00000008
El control muestra o cambia el valor de la propiedad en la columna Property de la tabla Control. El control muestra o cambia el valor de la propiedad que tiene el Identificador que aparece en la columna Property de la tabla Control.
Determina si se hace referencia indirectamente a la propiedad asociada a este control.
RTLRO 0x00000000 0x00000020
El texto del control se muestra en orden de lectura de izquierda a derecha. El texto del control se muestra en orden de lectura de derecha a izquierda.
RightAligned 0x00000000 0x00000040
El texto del control está alineado a la izquierda. El texto del control está alineado a la derecha.
LeftScroll 0x00000000 0x00000080
La barra de desplazamiento se encuentra a la derecha del control. La barra de desplazamiento se encuentra a la izquierda del control.
BiDi 0x000000E0 Establezca este valor para una combinación de los atributos RTLRO, RightAligned y LeftScroll.

 

Observaciones

Este control se puede crear a partir de la clase WC_TREEVIEW mediante la función CreateWindowEx. Tiene los estilos WS_BORDER, TVS_HASLINES, TVS_HASBUTTONS, TVS_LINESATROOT, TVS_DISABLEDRAGDROP, TVS_SHOWSELALWAYS, WS_CHILD, WS_TABSTOP y WS_GROUP.

El árbol de selección solo se rellena si se ha llamado a la acción CostInitialize y a la acción CostFinalize.

La siguiente cadena de la tabla UIText está relacionada con este control.

Término Descripción
AbsentPath
Ruta de acceso mostrada para un elemento en estado ausente.

 

Las seis cadenas siguientes se usan para mostrar el número de elementos secundarios seleccionados y el tamaño asociado al elemento resaltado:

  • SelChildCostPos
  • SelChildCostNeg
  • SelParentCostPosPos
  • SelParentCostPosNeg
  • SelParentCostNegPos
  • SelParentCostNegNeg

Las siguientes cadenas se usan para mostrar las opciones de selección disponibles para un elemento en un menú emergente:

  • MenuAbsent
  • MenuLocal
  • MenuCD
  • MenuNetwork
  • MenuAllLocal
  • MenuAllCD
  • MenuAllNetwork

Las siguientes cadenas se usan para explicar la selección actual en el ControlEvent SelectionDescription.

  • SelAbsentAbsent
  • SelAbsentLocal
  • SelAbsentCD
  • SelAbsentNetwork
  • SelLocalAbsent
  • SelLocalLocal
  • SelLocalCD
  • SelLocalNetwork
  • SelCDAbsent
  • SelNetworkAbsent
  • SelCDLocal
  • SelNetworkLocal
  • SelCDCD
  • SelNetworkNetwork

Estas cuatro cadenas localizadas se usan para dar formato al tamaño de un archivo:

  • Bytes
  • KB
  • MB
  • GB