Annotazione mappa valori
Con l'annotazione mappa valori, è possibile usare una stringa di mapping per indicare come l'indice dell'immagine di un elemento in una visualizzazione elenco o in una visualizzazione struttura ad albero corrisponde al ruolo o allo stato. Ad esempio, una stringa di mapping può indicare che l'indice immagine di una visualizzazione elenco 0 è mappato a un ruolo della casella di controllo, mentre l'indice immagine 1 è mappato a un ruolo di pulsante di opzione.
È anche possibile usare l'annotazione mappa valori per specificare stringhe mappate ai valori numerici in un dispositivo di scorrimento.
Quando usare questa tecnica
È consigliabile usare l'annotazione mappa valori nelle situazioni seguenti.
Quando una visualizzazione elenco o una visualizzazione albero disegnata dal proprietario incorpora l'uso delle immagini e si vuole fornire una descrizione accessibile personalizzata (proprietà Description ) basata su tale immagine. La figura seguente mostra un esempio.
Quando un controllo visualizzazione elenco o visualizzazione albero disegnato dal proprietario incorpora l'uso di immagini per rendere l'albero o gli elementi di elenco come controlli semplici, in genere caselle di controllo o pulsanti di opzione e si vuole eseguire il mapping dell'immagine a un ruolo. La schermata seguente mostra un esempio.
Quando un dispositivo di scorrimento viene usato per selezionare un valore che può essere descritto come un valore diverso da un numero intero semplice, come nella schermata seguente, in cui l'impostazione di risoluzione dello schermo è descritta da una stringa.
Con l'annotazione mappa valori, una stringa di mapping indica il modo in cui l'indice dell'immagine dell'elenco o dell'albero corrisponde al ruolo o allo stato. In alternativa, può indicare come il valore numerico di un dispositivo di scorrimento corrisponde a una stringa. Ad esempio, una stringa di mapping può indicare che l'indice dell'immagine di una visualizzazione elenco 0 è mappato a un ruolo della casella di controllo e dell'indice dell'immagine 1 è mappato a un ruolo del pulsante di opzione. Usare IAccPropServices::SetHwndPropStr() per collegare la stringa di mapping al controllo.
Poiché è necessaria una conoscenza specifica del controllo per supportare il mapping dei valori, esistono un numero limitato di controlli e proprietà che supportano l'annotazione della mappa dei valori, incluse le mappe dei valori del dispositivo di scorrimento, le visualizzazioni elenco e le visualizzazioni albero.
Mappa valori dispositivo di scorrimento
PROPID_ACC_VALUEMAP contiene un mapping dalle posizioni interne del dispositivo di scorrimento alle stringhe leggibili. Questa proprietà è supportata dal proxy Oleacc.dll dispositivo di scorrimento. Se il valore corrente del dispositivo di scorrimento viene trovato nella mappa dei valori, la stringa corrispondente verrà esposta come valore anziché come stringa percentuale predefinita ,ad esempio "50".
Visualizzazione elenco e visualizzazione albero
PROPID_ACC_ROLEMAP, PROPID_ACC_STATEMAP e PROPID_ACC_DESCRIPTONMAP forniscono mapping dagli indici delle immagini di stato ai valori di ruolo e stato. Queste mappe consentono di eseguire il mapping di tali indici di immagine ai ruoli appropriati (in genere ROLE_SYSTEM_RADIOBUTTON o ROLE_SYSTEM_CHECKBUTTON) e ai bit di stato aggiuntivi ( in genere STATE_SYSTEM_CHECKED).
Per altre informazioni sull'annotazione della mappa dei valori, vedere gli argomenti seguenti:
Formato mappa annotazione
Nella tabella seguente vengono descritti i campi inclusi in una mappa di annotazione.
Campo | Descrizione |
---|---|
'A' | Indica che viene usato uno schema di codifica specifico. È possibile supportare prefissi aggiuntivi per gli schemi di codifica futuri. |
Carattere delimitatore | In genere due punti (:) viene usato, ma può essere un altro carattere ad eccezione di NULL o uno spazio vuoto. Poiché questo carattere verrà usato come delimitatore per i campi rimanenti, potrebbe non essere usato come parte di un valore nella mappa. |
0, 1 o 2 | Valore che indica quale chiave viene utilizzata. Per le mappe ruolo visualizzazione albero e visualizzazione elenco, questa chiave può essere 0 (indice immagine), 1 (indice immagine di stato) o 2 (indice immagine sovrapposta). Per i dispositivi di scorrimento e altri controlli che non offrono una scelta di tasti, questo valore deve essere 0. |
Carattere delimitatore | : |
Coppie chiave-valore | Ogni coppia è costituita da una stringa di chiave e da un carattere delimitatore. La stringa di chiave è un numero e può essere in formato decimale o esadecimale (con un prefisso "0x" iniziale). |
Stringa valore | Per le mappe dei valori, si tratta di una stringa. Per le mappe del ruolo e dello stato, si tratta di un numero (decimale o esadecimale). |
Carattere delimitatore | : |
Ad esempio, una mappa può essere simile alla seguente:
A:0:0:Cold:1:Warm:3:Hot:
Quando questa mappa dei valori viene applicata a un controllo dispositivo di scorrimento, il valore "Warm" verrà esposto quando il dispositivo di scorrimento si trova nella posizione 1. Poiché il valore 2 non è incluso in questo esempio, verrà esposto il valore predefinito per tale posizione. Per un dispositivo di scorrimento, il valore predefinito è un valore percentuale, ad esempio 33.