Verwenden der Wertzuordnungsanmerkung
So erstellen Sie eine Wertzuordnung
Erstellen Sie eine Zuordnungszeichenfolge.
Eine Zuordnungszeichenfolge ist eine Liste der numerischen Werte eines Steuerelements, die einer für Menschen lesbaren Zeichenfolge in Unicode entsprechen. Sie beginnt mit "A:", gefolgt von einer Zahl, die den Typ des verwendeten Indexes 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 eine List-View oder Strukturansicht oder den Wert für ein Schieberegler-Steuerelement darstellt.
Der resultierende Wert ist eine Zahl, die beim Zuordnen der Role- oder State-Eigenschaft für eine Listenansicht oder ein Strukturansichtssteuerelement abgerufen wird. Solche Zahlen werden in Dezimal- oder Hexadezimalzahlen mit dem Präfix "0x" ausgedrückt.
Die Zuordnungszeichenfolge wird immer mit einem abschließenden Doppelpunkt (":") beendet.
Im Folgenden finden Sie ein Beispiel für eine Anmerkungszuordnung für die Eigenschaften State und Role eines Kontrollkästchens in einer Listenansicht oder einem Strukturansichtssteuerelement. Es gibt zwei Elemente in der Ansicht, die Kontrollkästchen darstellen, und jedes verfügt über 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 Statuswerte finden Sie unter Objektrollen und Objektzustandskonstanten.
Der Indexwert kann negativ sein, wenn Sie Eigenschaften für ein Schieberegler-Steuerelement zuordnen.
Wenn Sie eine Value- oder Description-Eigenschaft zuordnen, ist das Ergebnis eine Zeichenfolge. Zeichenfolgen werden nicht in Anführungszeichen zusammengestellt, und die Doppelpunkte fungieren als Trennzeichen.
Weitere Informationen finden Sie unter Anmerkungszuordnungsformat.
Erstellen Sie den Anmerkungs-Manager, und rufen Sie einen Zeiger auf die zugehörige IAccPropServices-Schnittstelleab.
Im Folgenden wird ein Beispiel für das Erstellen des Anmerkungs-Managers veranschaulicht.
IAccPropServices * pAccPropSvc = NULL; HRESULT hr = CoCreateInstance(CLSID_AccPropServices, NULL, CLSCTX_SERVER, IID_IAccPropServices, (void**) & pAccPropSvc));Fügen Sie die Zuordnungszeichenfolge an das Steuerelement an.
Rufen Sie IAccPropServices::SetHwndPropStrauf, 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 Schieberegler-Steuerelemente fest. Bereinigen.
Bevor Sie Steuerelemente mit Anmerkungen zur Wertzuordnung 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 dazu IAccPropServices::ClearHwndProps nach Bedarf auf, und geben Sie Ihren Zeiger auf IAccPropServicesfrei.
Beispielcode finden Sie unter Value Map Annotation Sample.