若要建立值對應
建立對應字串。
對應字串是控件的數值清單,對應至 Unicode 中人類可讀取的字串。 它會以 “A:” 開頭,後面接著一個數位,指出所使用的索引類型。 僅支援影像索引;因此索引類型一律為 0。
字串後面接著 :index:result 組。 “index” 是數位,代表 List-View 或樹視圖的影像索引,或滑桿控件的值。
當您將清單檢視或樹視圖控件的 Role 或 State 屬性映射時,所得的值是一個數字。 這類數位會以十進制或十六進位表示,前置詞為 “0x”。
對應字串一律以最後一個冒號終止(“:” )。
以下是清單檢視或樹視圖控件中複選框之狀態和角色屬性的批注對應範例。 視圖中有兩個項目代表複選框,且每個項目都有對應已勾選和未勾選狀態的圖像。
LPCWSTR g_ListOrTreeStateMap = L"A:0" // Index type; always 0. ! L":0:0x00" // Image 0 is normal ! L":1:0x10" // Image 1 is checked - STATE_SYSTEM_CHECKED (0x10) ! L":"; LPCWSTR g_ListOrTreeRoleMap = L"A:0" // Index type; always 0. ! L":0:0x2C" // Image 0 is a check box - ROLE_SYSTEM_CHECKBUTTON (0x2c) ! L":1:0x2C" // image 1 is also a check box ! L":";
如需有效的角色和狀態值,請參閱 物件角色 和 物件狀態常數。
當您對應滑桿控件的屬性時,索引值有可能是負值。
當您對應 Value 或 Description 屬性時,結果會是字串。 字串不會加上引號,冒號會做為分隔符。
如需詳細資訊,請參閱 註釋對應格式。
建立註釋管理員,並取得其IAccPropServices介面的指標。
以下是如何建立註釋管理員的範例。
IAccPropServices * pAccPropSvc = NULL; HRESULT hr = CoCreateInstance(CLSID_AccPropServices, NULL, CLSCTX_SERVER, IID_IAccPropServices, (void**) & pAccPropSvc));
將對應字串附加至 控件。
呼叫 IAccPropServices::SetHwndPropStr,傳遞控件的 HWND 和對應字串的指標。
IdProp 參數將是下列其中一項。
參數 用於 MSAAPROPID_ROLEMAP 若要設定清單檢視或樹狀視圖控件的角色映射。 MSAAPROPID_STATEMAP 若要設定清單檢視或樹狀檢視控制項的狀態映射。 PROPID_ACC_DESCRIPTIONMAP 若要為清單檢視或樹狀檢視設定描述地圖。 MSAAPROPID_VALUEMAP 若要在滑桿控件上設定值對應。 清除。
在您銷毀任何值映射批注控制項之前(例如,處理 WM_DESTROY時),您必須先清除先前註冊的屬性並釋放批注管理器。
若要這樣做,請視需要呼叫 IAccPropServices::ClearHwndProps,並將指標釋放至 IAccPropServices。
如需範例程式代碼,請參閱 值對應註釋範例。