Poznámka k mapě hodnot
Pomocí anotace mapy hodnot můžete pomocí mapového řetězce určit, jak index obrázku položky v zobrazení seznamu nebo stromovém zobrazení odpovídá jeho roli nebo stavu. Například řetězec mapování může znamenat, že index obrázků zobrazení seznamu 0 mapuje na roli zaškrtávacího políčka, zatímco index obrázku 1 se mapuje na roli přepínače.
K určení řetězců, které se mapují na číselné hodnoty na posuvníku, můžete použít také poznámku k mapě hodnot.
Kdy použít tuto techniku
Zvažte použití poznámky k mapě hodnot v následujících situacích.
Pokud zobrazení seznamu nakreslené vlastníkem nebo stromové zobrazení zahrnuje použití obrázků a chcete poskytnout vlastní přístupný popis (vlastnost Popis) na základě tohoto obrázku. Následující obrázek ukazuje příklad.
Když ovládací prvek zobrazení seznamu nakreslený vlastníkem nebo stromovým zobrazením zahrnuje použití obrázků, aby strom nebo položky seznamu fungovaly jako jednoduché ovládací prvky, obvykle zaškrtávací políčka nebo přepínače a chcete obrázek namapovat na roli. Následující snímek obrazovky ukazuje příklad.
Když se posuvník používá k výběru hodnoty, kterou lze popsat jako jiné než jednoduché celé číslo, jako je na následujícím snímku obrazovky, kde je nastavení rozlišení obrazovky popsáno řetězcem.
V poznámce k mapě hodnot určuje mapovací řetězec, jak index obrázků seznamu nebo stromu odpovídá jeho roli nebo stavu. Nebo může ukazovat, jak číselná hodnota posuvníku odpovídá řetězci. Například mapovací řetězec může znamenat, že index obrázků zobrazení seznamu 0 mapuje na roli zaškrtávacího políčka a index obrázků 1 mapuje na roli přepínače. K připojení řetězce mapování k ovládacímu prvku použijte IAccPropServices::SetHwndPropStr().
Vzhledem k tomu, že pro podporu mapování hodnot se vyžaduje znalost specifické pro řízení, existuje omezený počet ovládacích prvků a vlastností, které podporují anotace mapy hodnot, včetně map hodnot posuvníku, zobrazení seznamu a stromových zobrazení.
Mapa hodnot posuvníku
PROPID_ACC_VALUEMAP obsahuje mapování z interních pozic posuvníku na řetězce čitelné člověkem. Tuto vlastnost podporuje proxy posuvník Oleacc.dll. Pokud se v mapě hodnot nachází aktuální hodnota posuvníku, zobrazí se odpovídající řetězec jako hodnota místo výchozího procentuálního řetězce (například "50").
Zobrazení seznamu a stromové zobrazení
PROPID_ACC_ROLEMAP, PROPID_ACC_STATEMAPa PROPID_ACC_DESCRIPTONMAP poskytují mapování z indexů stavových imagí na hodnoty rolí a stavů. Tyto mapy umožňují mapování těchto indexů obrázků na příslušné role (obvykle ROLE_SYSTEM_RADIOBUTTON nebo ROLE_SYSTEM_CHECKBUTTON) a další bity stavu (obvykle STATE_SYSTEM_CHECKED).
Další informace o poznámce k mapě hodnot najdete v následujících tématech:
- použití poznámek k mapě hodnot
- Ukázka anotace mapy hodnot
Formát mapy poznámek
Následující tabulka popisuje pole, která jsou součástí mapy poznámek.
Pole | Popis |
---|---|
"A" | Označuje, že se používá konkrétní schéma kódování. Další předpony mohou být podporovány pro budoucí schémata kódování. |
Znak oddělovače | Obvykle se používá dvojtečka (:), ale může to být jiný znak s výjimkou null nebo prázdné mezery. Vzhledem k tomu, že tento znak bude použit jako oddělovač pro zbývající pole, nemusí být použit jako součást hodnoty v mapě. |
0, 1 nebo 2 | Hodnota, která označuje, který klíč se používá. Pro stromové zobrazení a mapy zobrazení seznamu může být tento klíč 0 (index obrázku), 1 (index stavových obrázků) nebo 2 (index překryvných obrázků). U posuvníků a dalších ovládacích prvků, které nenabízí výběr kláves, musí být tato hodnota 0. |
Znak oddělovače | : |
Páry klíč-hodnota | Každá dvojice se skládá z řetězce klíče a znaku oddělovače. Řetězec klíče je číslo a může být v desítkovém nebo šestnáctkovém formátu (s úvodní předponou 0x). |
Řetězec hodnoty | Pro mapy hodnot se jedná o řetězec. U map rolí a stavů se jedná o číslo (desítkové nebo šestnáctkové). |
Znak oddělovače | : |
Například mapa může vypadat takto:
A:0:0:Cold:1:Warm:3:Hot:
Pokud se tato mapa hodnot použije na ovládací prvek posuvníku, zobrazí se hodnota "Teplé", když je posuvník na pozici 1. Protože hodnota 2 není zahrnuta v tomto příkladu, zobrazí se výchozí hodnota dané pozice. U posuvníku by výchozí hodnota byla procentuální hodnota, například 33.