Verfügbar machen Owner-Drawn Kombinationsfeldelemente

Anwendungsentwickler müssen IAccessible nicht implementieren, um die Elemente in einem vom Besitzer gezeichneten Kombinationsfeld mit dem Stil CBS _ HASSTRINGS verfügbar zu machen, da Microsoft Active Accessibility die Elemente in Kombinationsfeldern mit diesem Stil verfügbar macht. Die Elemente in einem vom Besitzer gezeichneten Kombinationsfeld mit dem CBS _ HASSTRINGS-Stil werden als Text angezeigt. Dieser Stil wird jedoch auch mit kombinationsgezeichneten Kombinationsfeldern verwendet, die keinen Text anzeigen, sodass die Kombinationsfeldelemente von der Microsoft Active Accessibility.

So ermöglichen Microsoft Active Accessibility, die Elemente in einem vom Besitzer gezeichneten Kombinationsfeld verfügbar zu machen, das keinen Text enthält:

  • Verwenden Sie beim Erstellen des Kombinationsfelds den CBS _ HASSTRINGS-Stil.
  • Erstellen Sie ein Text-Gegenstück, das jedes Element im Kombinationsfeld benennt oder beschreibt.
  • Verwenden Sie beim Hinzufügen von Elementen zum vom Besitzer gezeichneten Kombinationsfeld die CB ADDSTRING-Meldung, um den Text hinzuzufügen, den _ Microsoft Active Accessibility verfügbar machen möchten. Dieser Text wird nicht angezeigt und darf daher nicht Teil der vom Besitzer gezeichneten Daten sein. Fügen Sie die vom Besitzer gezeichneten Elementdaten mithilfe der CB _ SETITEMDATA-Nachricht hinzu.

Beachten Sie bei Verwendung der oben genannten Methode Folgendes:

  • Wenn Sie den CBS _ SORT-Stil verwenden, wird das Kombinationsfeld mit den angegebenen Zeichenfolgen und nicht mit der WM _ COMPAREITEM-Rückrufprozedur sortiert.
  • Verwenden Sie bei Kombinationsfeldern mit vom Besitzer gezeichneten Variablen, die mit dem Format CBS _ OWNERDRAWVARIABLE erstellt wurden, eine globale Variable oder einen anderen Mechanismus, um zu verfolgen, wann das itemData-Element von MEASUREITEMSTRUCT gültig ist. Die globale Variable ist erforderlich, da das System die WM _ MEASUREITEM-Nachricht sendet, sobald die Zeichenfolge hinzugefügt wird, aber bevor die Elementdaten angefügt werden. An diesem Punkt ist das itemData-Element ungültig.
  • Um die Zeichenfolge für ein Element in einem Kombinationsfeld mit dem CBS _ HASSTRINGS-Format zu ändern, löschen Sie das Element mit der CB _ DELETESTRING-Meldung, und fügen Sie die neue Zeichenfolge mit der CB _ ADDSTRING-Nachricht hinzu.