Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Cut, paste, and modify the following code sample for your own use. Follow instructions in comments marked with /* TODO */.
/* TODO
* Delete / modify these sample mapping strings as
* appropriate.
* See <oleacc.h> for the possible states and roles, and
* their numeric values.
*/
LPCWSTR g_ListOrTreeStateMap =
L"A:0" // 0 -> use regular image, 1 -> use state image, 2-> use overlay image.
L":0:0x00" // image 0 is normal
L":1:0x10" // image 1 is checked - STATE_SYSTEM_CHECKED
L":";
LPCWSTR g_ListOrTreeRoleMap =
L"A:0" // 0 -> use regular image, 1 -> use state image, 2-> use overlay image.
L":0:0x2C" // image 0 is check box - ROLE_SYSTEM_CHECKBUTTON (ie. check box)
L":1:0x2C" // image 1 is also check box
L":";
// This is an example for a slider that has 5 positions,
// ranging from Cold (0) to Hot (5).
// Note - because this contains textual strings, the entire
// string should be loaded from a localized resource, or
// it should be built at run time from localized strings.
// This non-localization-friendly string is used here for
// illustrative purposes only.
LPCWSTR g_SliderValueMap =
L"A:0" // always 0 for slider maps
L":0:Cold"
L":1:Cool"
L":2:Warm"
L":3:Toasty"
L":4:Hot"
L":";
[ ... ]
//
// Skeleton code to set property map for a control
//
// Do this after shortly after the corresponding control is
// created (for example, when handling WM_INITDIALOG)
//
// Assumptions:
// hwndListOrTree is the HWND of a listview or
// treeview(listview, treeview),
// hwndSlider is the HWND of a slider.
//
IAccPropServices * pAccPropSvc = NULL;
HRESULT hr;
hr = CoCreateInstance( CLSID_AccPropServices, NULL,
CLSCTX_SERVER, IID_IAccPropServices, (void **) & pAccPropSvc )
);
if( hr == S_OK && pAccPropSvc )
{
/* TODO
* For a listview or treeview, both role and state
* maps are typically set here.
* For sliders, only the value map is set.
* Delete / modify as appropriate.
*
*/
pAccPropSvc->SetHwndPropStr( hwndListOrTree,
OBJID_CLIENT, 0, PROPID_ACC_ROLEMAP, g_ListOrTreeRoleMap ) );
pAccPropSvc->SetHwndPropStr( hwndListOrTree,
OBJID_CLIENT, 0, PROPID_ACC_STATEMAP, g_ListOrTreeStateMap ) );
pAccPropSvc->SetHwndPropStr( hwndSlider, OBJID_CLIENT,
0, PROPID_ACC_VALUEMAP, g_SliderValueMap );
pAccPropSvc->Release();
}