Verfügbarmachen Owner-Drawn Kombinationsfeldelemente

Anwendungsentwickler müssen IAccessible nicht implementieren, um die Elemente in einem vom Besitzer gezeichneten Kombinationsfeld verfügbar zu machen, das den Stil CBS_HASSTRINGS hat, da Microsoft Active Accessibility die Elemente in Kombinationsfelden mit dieser Formatvorlage verfügbar macht. Die Elemente in einem vom Besitzer gezeichneten Kombinationsfeld mit der CBS_HASSTRINGS Formatvorlage werden als Text angezeigt. Diese Formatvorlage wird jedoch auch für vom Besitzer gezeichnete Kombinationsfelder verwendet, die keinen Text anzeigen, sodass die Kombinationsfeldelemente von Microsoft Active Accessibility verfügbar gemacht werden.

So ermöglichen Sie microsoft Active Accessibility, die Elemente in einem vom Besitzer gezeichneten Kombinationsfeld verfügbar zu machen, das keinen Text anzeigt:

  • Verwenden Sie beim Erstellen des Kombinationsfelds den CBS_HASSTRINGS Stil.
  • Erstellen Sie eine textuelle Entsprechung, die jedes Element im Kombinationsfeld benennt oder beschreibt.
  • Verwenden Sie beim Hinzufügen von Elementen zum Kombinationsfeld vom Besitzer die CB_ADDSTRING Nachricht, um den Text hinzuzufügen, den Microsoft Active Accessibility verfügbar machen soll. Dieser Text wird nicht angezeigt, sodass er nicht Teil der vom Besitzer gezeichneten Daten sein darf. Fügen Sie die vom Besitzer gezeichneten Elementdaten mithilfe der CB_SETITEMDATA-Nachricht hinzu.

Beachten Sie bei Verwendung der obigen Methode Folgendes:

  • Wenn Sie das format CBS_SORT verwenden, wird das Kombinationsfeld anhand der angegebenen Zeichenfolgen und nicht anhand der WM_COMPAREITEM Rückrufprozedur sortiert.
  • Verwenden Sie bei Kombinationsfeldern von besitzergezeichneten Variablen, die mit dem Stil CBS_OWNERDRAWVARIABLE erstellt wurden, eine globale Variable oder einen anderen Mechanismus, um nachzuverfolgen, wann das elementData-Member der 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, und an diesem Punkt der itemData-Member ungültig ist.
  • 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 Nachricht, und fügen Sie die neue Zeichenfolge mit der CB_ADDSTRING Nachricht hinzu.