Freigeben über


Verwenden der Wertzuordnungsanmerkung

So erstellen Sie eine Wertzuordnung

  1. Erstellen Sie eine Zuordnungszeichenfolge.

    Eine Zuordnungszeichenfolge ist eine Liste der numerischen Werte eines Steuerelements, die einer lesbaren Zeichenfolge in Unicode entsprechen. Sie beginnt mit "A:", gefolgt von einer Zahl, die den Typ des verwendeten Index angibt. Es werden nur Bildindizes unterstützt. Daher ist der Indextyp immer 0.

    Auf die Zeichenfolge folgen :index:result-Paare. Der "Index" ist eine Zahl, die einen Bildindex für einen List-View oder eine Strukturansicht oder den Wert für ein Schiebereglersteuerelement darstellt.

    Der resultierende Wert ist eine Zahl, die abgerufen wird, wenn Sie die Role- oder State-Eigenschaft für eine Listenansicht oder ein Strukturansichtssteuerelement zuordnen. Solche Zahlen werden als Dezimal- oder Hexadezimalzahlen mit einem Präfix "0x" ausgedrückt.

    Die Zuordnungszeichenfolge wird immer mit einem endgültigen Doppelpunkt (":") beendet.

    Im Folgenden finden Sie ein Beispiel für eine Anmerkungszuordnung für die Eigenschaften Status und Rolle eines Kontrollkästchens in einer Listenansicht oder einem Strukturansichtssteuerelement. Es gibt zwei Elemente in der Ansicht, die Kontrollkästchen darstellen, und jedes hat Bilder, die dem aktivierten und nicht aktivierten Zustand entsprechen.

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

    Gültige Rollen- und Zustandswerte finden Sie unter Objektrollen und Objektzustandskonstanten.

    Der Indexwert kann negativ sein, wenn Sie Eigenschaften für ein Schiebereglersteuerelement zuordnen.

    Wenn Sie eine Value- oder Description-Eigenschaft zuordnen, ist das Ergebnis eine Zeichenfolge. Zeichenfolgen werden nicht in Anführungszeichen gesetzt, und die Doppelpunkte fungieren als Trennzeichen.

    Weitere Informationen finden Sie unter Anmerkungszuordnungsformat.

  2. Erstellen Sie den Anmerkungs-Manager, und rufen Sie einen Zeiger auf seineIAccPropServices-Schnittstelle ab.

    Im Folgenden finden Sie ein Beispiel für das Erstellen des Anmerkungs-Managers.

    IAccPropServices * pAccPropSvc = NULL;
    HRESULT hr = CoCreateInstance(CLSID_AccPropServices, NULL,
    CLSCTX_SERVER, IID_IAccPropServices, (void**) & pAccPropSvc));
    
    
  3. Fügen Sie die Zuordnungszeichenfolge an das Steuerelement an.

    Rufen Sie IAccPropServices::SetHwndPropStr auf, und übergeben Sie den HWND des Steuerelements und einen Zeiger auf die Zuordnungszeichenfolge.

    Der IdProp-Parameter ist einer der folgenden:

    Parameter Syntaxelemente
    MSAAPROPID_ROLEMAP So legen Sie eine Rollenzuordnung für Listenansichts- oder Strukturansichtssteuerelemente fest.
    MSAAPROPID_STATEMAP So legen Sie eine Zustandszuordnung für Listenansichts- oder Strukturansichtssteuerelemente fest.
    PROPID_ACC_DESCRIPTIONMAP So legen Sie eine Beschreibungszuordnung für Listenansichten oder Strukturansichten fest.
    MSAAPROPID_VALUEMAP So legen Sie eine Wertzuordnung für Schiebereglersteuerelemente fest.

     

  4. Bereinigen.

    Bevor Sie mit Anmerkungen versehene Steuerelemente mit Wertzuordnungen zerstören (z. B. bei der Behandlung von WM_DESTROY), müssen Sie zuvor registrierte Eigenschaften löschen und den Anmerkungs-Manager freigeben.

    Rufen Sie hierzu IAccPropServices::ClearHwndProps nach Bedarf auf, und geben Sie den Zeiger auf IAccPropServices frei.

Beispielcode finden Sie unter Beispiel für Die Wertzuordnungsanmerkung.