Usar anotación directa
Para usar la anotación directa para invalidar el valor de una propiedad
- Use la función CoCreateInstance o CoCreateInstanceEx para crear el objeto IAccPropServices .
- Llame a IAccPropServices::SetHwndProp, pasando el HWND, el identificador de objeto, el identificador secundario, la propiedad que se va a invalidar y una VARIANT que contenga el nuevo valor de la propiedad. Este paso anota el valor.
- Libere los punteros de interfaz y libere memoria.
En el ejemplo siguiente se muestra cómo anotar la propiedad Role de un control de texto estático.
HRESULT CMyTextControl::SetAccessibleProperties()
{
// COM is assumed to be initialized...
IAccPropServices* pAccPropServices = NULL;
HRESULT hr = CoCreateInstance(CLSID_AccPropServices,
NULL, CLSCTX_SERVER, IID_IAccPropServices,
(void**)&pAccPropServices);
if (SUCCEEDED(hr))
{
// Annotating the Role of this object to be STATICTEXT
VARIANT var;
var.vt = VT_I4;
var.lVal = ROLE_SYSTEM_STATICTEXT;
hr = pAccPropServices->SetHwndProp(_hwnd,
OBJID_CLIENT,
CHILDID_SELF,
PROPID_ACC_ROLE,
var);
pAccPropServices->Release();
}
return hr;
}
Propiedades admitidas al especificar un valor
Las siguientes propiedades de accesibilidad activa de Microsoft se pueden anotar al especificar un valor (donde el valor debe ser del tipo indicado) para la anotación directa. Para invalidar o agregar una propiedad de Microsoft Automatización de la interfaz de usuario a un control, puede especificar el identificador de propiedad de Automatización de la interfaz de usuario en lugar del identificador de propiedad de accesibilidad activa de Microsoft. Para obtener una lista de Automatización de la interfaz de usuario identificadores, consulte Identificadores de propiedad.
Propiedad | Tipo |
---|---|
PROPID_ACC_NAME | VT_BSTR |
PROPID_ACC_DESCRIPTION | VT_BSTR |
PROPID_ACC_ROLE | VT_I4 |
PROPID_ACC_STATE | VT_I4 |
PROPID_ACC_HELP | VT_BSTR |
PROPID_ACC_KEYBOARDSHORTCUT | VT_BSTR |
PROPID_ACC_DEFAULTACTION | VT_BSTR |
PROPID_ACC_VALUEMAP | VT_BSTR |
PROPID_ACC_ROLEMAP | VT_BSTR |
PROPID_ACC_STATEMAP | VT_BSTR |