Delen via


Gebruik van waardekaartannotatie

Een waardekaart maken

  1. Een toewijzingsreeks maken.

    Een toewijzingsreeks is een lijst met numerieke waarden van een controle-element die overeenkomen met een door mensen leesbare tekenreeks in Unicode. Het begint met 'A:', gevolgd door een getal dat aangeeft welk type index wordt gebruikt. Alleen afbeeldingsindexen worden ondersteund; daarom is het indextype altijd 0.

    De tekenreeks wordt gevolgd door :index:resultaat paren. De 'index' is een getal dat een afbeeldingsindex vertegenwoordigt voor een List-View of structuurweergave, of de waarde voor een schuifregelaar.

    De resulterende waarde is een getal dat wordt verkregen wanneer u de eigenschap rol of status toewijst aan een lijstweergave- of structuurweergavebesturingselement. Dergelijke getallen worden uitgedrukt in decimaal of hexadecimaal met een voorvoegsel van 0x.

    De toewijzingstekenreeks wordt altijd beƫindigd met een laatste dubbele punt (':').

    Hier volgt een voorbeeld van een aantekeningskaart voor de eigenschappen Status en Rol van een selectievakje in een besturingselement lijstweergave of structuurweergave. Er zijn twee items in de weergave die selectievakjes vertegenwoordigen en elk item bevat afbeeldingen die overeenkomen met de status Ingeschakeld en Uitgeschakeld.

    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":";
    

    Zie Objectrollen en objectstatusconstantenvoor geldige waarden voor rollen en statussen.

    De indexwaarde kan negatief zijn bij het toewijzen van eigenschappen voor een schuifregelaar.

    Wanneer u de eigenschap Waarde of Beschrijving toewijst, is het resultaat een tekenreeks. Tekenreeksen staan niet tussen aanhalingstekens en de dubbele punten fungeren als scheidingstekens.

    Zie Annotation Map Formatvoor meer informatie.

  2. Maak de aantekeningsmanager en verkrijgt u een aanwijzer naar deIAccPropServices-interface.

    Hier volgt een voorbeeld van het maken van de aantekeningsmanager.

    IAccPropServices * pAccPropSvc = NULL;
    HRESULT hr = CoCreateInstance(CLSID_AccPropServices, NULL,
    CLSCTX_SERVER, IID_IAccPropServices, (void**) & pAccPropSvc));
    
    
  3. Verbind de toewijzingsreeks aan het besturingselement.

    Roep IAccPropServices::SetHwndPropStraan, waarbij de HWND van het besturingselement en een aanwijzer naar de toewijzingstekenreeks worden doorgegeven.

    De parameter IdProp is een van de volgende.

    Parameter Gebruikt voor
    MSAAPROPID_ROLEMAP Een roloverzicht instellen voor besturingselementen voor lijstweergave of structuurweergave.
    MSAAPROPID_STATEMAP Om een statuskaart in te stellen voor lijstweergave- of structuurweergavebesturingselementen.
    PROPID_ACC_DESCRIPTIONMAP Een beschrijvingskaart instellen voor lijstweergave- of structuurweergaven.
    MSAAPROPID_VALUEMAP Een waardemap toepassen op schuifregelaars.

     

  4. Opschonen.

    Voordat u geannoteerde besturingselementen van een waardekaart vernietigt (bijvoorbeeld bij het verwerken van WM_DESTROY), moet u eerder geregistreerde eigenschappen wissen en de annotatiebeheerder ontkoppelen.

    Hiervoor roept u IAccPropServices::ClearHwndProps aan zoals toepasselijk en laat u de pointer naar IAccPropServiceslos.

Zie voor voorbeeldcode het waardekaartaantekeningsvoorbeeld .