Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Deweloperzy aplikacji nie muszą implementować IAccessible, aby uwidocznić elementy w polu listy zdefiniowanym przez użytkownika, które ma styl LBS_HASSTRINGS, ponieważ usługa Microsoft Active Accessibility uwidacznia elementy w polach listy przy użyciu tego stylu. Elementy w polu listy narysowanej przez właściciela z stylem LBS_HASSTRINGS są wyświetlane jako tekst. Jednak ten styl jest również używany z polami listy tworzonymi przez właściciela, które nie wyświetlają tekstu, dzięki czemu elementy pola listy są odkrywane przez Microsoft Active Accessibility.
Aby zezwolić usłudze Microsoft Active Accessibility na uwidocznienie elementów w polu listy narysowanym przez właściciela, które nie wyświetla tekstu:
- Użyj stylu LBS_HASSTRINGS podczas tworzenia pola listy.
- Utwórz tekstowy odpowiednik, który nazywa lub opisuje każdy element w polu listy.
- Podczas dodawania elementów do pola listy narysowanej przez właściciela użyj komunikatu LB_ADDSTRING, aby dodać tekst, który ma być udostępniany przez usługę Microsoft Active Accessibility. Ten tekst nie jest wyświetlany, więc nie jest częścią danych tworzonych przez właściciela. Dodaj dane elementu rysowanego przez właściciela przy użyciu komunikatu LB_SETITEMDATA.
W przypadku korzystania z powyższej metody zwróć uwagę na następujące kwestie:
- Jeśli używasz stylu LBS_SORT, pole listy jest sortowane przy użyciu podanych ciągów, a nie procedury wywołania zwrotnego WM_COMPAREITEM.
- W przypadku pól listy zmiennych narysowanych przez właściciela utworzonych za pomocą LBS_OWNERDRAWVARIABLEstylu użyj zmiennej globalnej lub innego mechanizmu, aby śledzić, kiedy element członkowski itemDataMEASUREITEMSTRUCT jest prawidłowy. Zmienna globalna jest wymagana, ponieważ system wysyła komunikat WM_MEASUREITEM zaraz po dodaniu ciągu, ale przed dołączeniu danych elementu, a w tym momencie element itemData jest nieprawidłowy.
- Aby zmienić ciąg znaków elementu w polu listy przy użyciu stylu LBS_HASSTRINGS, najpierw usuń element za pomocą komunikatu LB_DELETESTRING, a następnie dodaj nowy ciąg za pomocą komunikatu LB_ADDSTRING.