Заметка карты значений
При использовании заметки карты значений можно использовать строку сопоставления, чтобы указать, как индекс изображения элемента в представлении списка или представлении дерева соответствует его роли или состоянию. Например, строка сопоставления может указывать, что индекс изображения представления списка 0 сопоставляется с ролью флажка, а индекс изображения 1 сопоставляется с ролью переключателя.
Вы также можете использовать заметку карты значений для указания строк, которые сопоставляют числовые значения на ползунке.
Когда использовать этот метод
Рекомендуется использовать заметку карты значений в следующих ситуациях.
Если представление списка или дерево, нарисованное владельцем, включает использование изображений, и вы хотите предоставить пользовательское описание (описание свойства) на основе этого изображения. На следующем рисунке показан пример.
Если представление списка или представление дерева владельца включает использование изображений для создания дерева или элементов списка, таких как простые элементы управления, как правило, флажки или переключатели, и вы хотите сопоставить изображение с ролью. На следующем снимке экрана показан пример.
Если ползунок используется для выбора значения, которое можно охарактеризовать как то, что отличается от простого целого числа, как показано на следующем снимке экрана, где параметр разрешения экрана описывается строкой.
разрешения экрана
С заметкой карты значений строка сопоставления указывает, как индекс изображения списка или дерева соответствует его роли или состоянию. Кроме того, он может указать, как числовое значение ползунка соответствует строке. Например, строка сопоставления может указывать, что индекс изображения представления списка 0 сопоставляется с ролью флажка и индекса изображения 1 сопоставляется с ролью переключателя. Используйте IAccPropServices::SetHwndPropStr() для подключения строки сопоставления к элементу управления.
Так как для сопоставления значений требуется знание, определенное для управления, существует ограниченное количество элементов управления и свойств, поддерживающих заметку карты значений, включая карты значений ползунка, представления списков и представления дерева.
Карта значений ползунка
PROPID_ACC_VALUEMAP содержит сопоставление с внутренними ползунками с читаемыми людьми строками. Это свойство поддерживается прокси-сервером ползунка Oleacc.dll. Если текущее значение ползунка найдено на карте значений, соответствующая строка будет представлена как значение вместо строки процента по умолчанию (например, "50").
Представление списка и представление дерева
PROPID_ACC_ROLEMAP, PROPID_ACC_STATEMAPи PROPID_ACC_DESCRIPTONMAP предоставляют сопоставления из индексов изображений состояния с значениями ролей и состояний. Эти карты позволяют сопоставлять эти индексы изображений с соответствующими ролями (обычно ROLE_SYSTEM_RADIOBUTTON или ROLE_SYSTEM_CHECKBUTTON) и дополнительными битами состояния (обычно STATE_SYSTEM_CHECKED).
Дополнительные сведения о заметке карты значений см. в следующих разделах:
- использование заметки карты значений
- Пример карты значений
Формат карты заметок
В следующей таблице описываются поля, включенные в карту заметок.
Поле | Описание |
---|---|
"A" | Указывает, что используется определенная схема кодирования. Дополнительные префиксы могут поддерживаться для будущих схем кодирования. |
Символ разделителя | Обычно используется двоеточие (используется :), но может быть другим символом, кроме null или пустого пробела. Так как этот символ будет использоваться в качестве разделителя для оставшихся полей, он не может использоваться в качестве части значения в карте. |
0, 1 или 2 | Значение, указывающее, какой ключ используется. Для ролей представления дерева и представлений списка и сопоставлений состояний этот ключ может быть 0 (индекс изображения), 1 (индекс изображения состояния) или 2 (индекс изображения наложения). Для ползунков и других элементов управления, которые не предлагают выбор ключей, это значение должно быть равно 0. |
Символ разделителя | : |
Пары "Ключевое значение" | Каждая пара состоит из ключевой строки и символа разделителя. Строка ключа — это число и может находиться в десятичном или шестнадцатеричном формате (с ведущим префиксом "0x"). |
Строка значения | Для карт значений это строка. Для карт ролей и состояний это число (десятичное или шестнадцатеричное). |
Символ разделителя | : |
Например, карта может выглядеть следующим образом:
A:0:0:Cold:1:Warm:3:Hot:
Если эта карта значений применяется к элементу управления ползунка, значение "Тепло" будет предоставляться, когда ползунок находится в позиции 1. Так как значение 2 не включено в этот пример, будет предоставлено значение по умолчанию для этой позиции. Для ползунка значение по умолчанию будет процентным значением, например 33.