Compartir a través de


Anotación de mapa de valores

Con la anotación de mapa de valores, puede usar una cadena de asignación para indicar cómo el índice de imagen de un elemento de una vista de lista o vista de árbol corresponde a su rol o estado. Por ejemplo, una cadena de asignación puede indicar que el índice de imagen de una vista de lista 0 se asigna a un rol de casilla, mientras que el índice de imagen 1 se asigna a un rol de botón de radio.

También puede usar la anotación de mapa de valores para especificar cadenas que se asignan a los valores numéricos en un control deslizante.

Cuándo usar esta técnica

Considere la posibilidad de usar la anotación de asignación de valores en las siguientes situaciones.

  • Cuando una vista de lista dibujada por el propietario o la vista de árbol incorpora el uso de imágenes, y desea proporcionar una descripción accesible personalizada (descripción propiedad) basada en esa imagen. En la ilustración siguiente se muestra un ejemplo.

    ilustración del menú Inicio, donde los iconos proporcionan pistas visuales al contenido

  • Cuando un control de vista de lista dibujada por el propietario o de árbol incorpora el uso de imágenes para que los elementos de árbol o lista actúen como controles simples, normalmente casillas o botones de radio, y desea asignar la imagen a un rol. En la captura de pantalla siguiente se muestra un ejemplo.

    captura de pantalla de las opciones de Internet Explorer para establecer el valor de casillas y botones de radio

  • Cuando se usa un control deslizante para seleccionar un valor que se puede describir como algo distinto de un entero simple, como en la siguiente captura de pantalla, donde una cadena describe la configuración de resolución de pantalla.

    captura de pantalla de un control deslizante que se usa para establecer la resolución de pantalla

Con la anotación de mapa de valores, una cadena de asignación indica cómo corresponde el índice de imagen de la lista o árbol a su rol o estado. O bien, puede indicar cómo corresponde el valor numérico de un control deslizante a una cadena. Por ejemplo, una cadena de asignación puede indicar que el índice de imagen de una vista de lista 0 se asigna a un rol de casilla y el índice de imagen 1 se asigna a un rol de botón de radio. Use IAccPropServices::SetHwndPropStr() para adjuntar la cadena de asignación al control.

Dado que se requiere conocimientos específicos del control para admitir la asignación de valores, hay un número limitado de controles y propiedades que admiten anotaciones de mapa de valores, incluidos los mapas de valores deslizantes, las vistas de lista y las vistas de árbol.

Mapa de valores del control deslizante

PROPID_ACC_VALUEMAP contiene una asignación de posiciones de control deslizante interno a cadenas legibles. Esta propiedad es compatible con el proxy de control deslizante de Oleacc.dll. Si el valor del control deslizante actual se encuentra en el mapa de valores, la cadena correspondiente se expondrá como valor en lugar de la cadena de porcentaje predeterminada (por ejemplo, "50").

Vista de lista y vista de árbol

PROPID_ACC_ROLEMAP, PROPID_ACC_STATEMAPy PROPID_ACC_DESCRIPTONMAP proporcionan asignaciones de índices de imagen de estado a los valores de rol y estado. Estos mapas permiten asignar esos índices de imagen a roles adecuados (normalmente ROLE_SYSTEM_RADIOBUTTON o ROLE_SYSTEM_CHECKBUTTON) y bits de estado adicionales (normalmente STATE_SYSTEM_CHECKED).

Para obtener más información sobre la anotación de mapa de valores, consulte los temas siguientes:

Formato de asignación de anotaciones

En la tabla siguiente se describen los campos que se incluyen en un mapa de anotaciones.

Campo Descripción
'A' Indica que se usa un esquema de codificación determinado. Es posible que se admita prefijos adicionales para futuros esquemas de codificación.
Carácter delimitador Normalmente se usa un signo de dos puntos (:), pero puede ser otro carácter, excepto null o un espacio vacío. Dado que este carácter se usará como delimitador para los campos restantes, es posible que no se use como parte de un valor en el mapa.
0, 1 o 2 Valor que indica qué clave se está usando. Para los mapas de estado y rol vista de árbol y vista de lista, esta clave puede ser 0 (índice de imagen), 1 (índice de imagen de estado) o 2 (índice de imagen superpuesta). Para los controles deslizantes y otros controles que no ofrecen una opción de claves, este valor debe ser 0.
Carácter delimitador :
Pares clave-valor Cada par consta de una cadena de clave y un carácter delimitador. La cadena de clave es un número y puede estar en formato decimal o hexadecimal (con un prefijo "0x" inicial).
Cadena de valor Para los mapas de valores, se trata de una cadena. En el caso de los mapas de roles y estados, se trata de un número (decimal o hexadecimal).
Carácter delimitador :

 

Por ejemplo, un mapa puede tener un aspecto similar al siguiente:

A:0:0:Cold:1:Warm:3:Hot:

Cuando este mapa de valores se aplica a un control deslizante, se expondrá un valor de "Cálido" cuando el control deslizante esté en la posición 1. Dado que el valor 2 no se incluye en este ejemplo, se expondrá el valor predeterminado de esa posición. Para un control deslizante, el valor predeterminado sería un valor de porcentaje, como 33.