Udostępnij przez


Używanie kontrolek niestandardowych

Standardowe kontrolki można dostosować przy użyciu rysunku właściciela, aby zmienić wygląd kontrolki i utworzyć superklasę lub podklasę, aby zmienić zachowanie kontrolki. W każdym przypadku podstawowy kod systemu dla standardowego typu kontrolki obsługuje podstawowe funkcje sterowania. Większość z tych kontrolek może być dostępna, jeśli używasz ich prawidłowo.

Kontrolka narysowana przez właściciela, która jest oparta na standardowej kontrolce, jest wyświetlana jako standardowa kontrola ułatwień dostępu i obsługuje usługi Microsoft Active Accessibility; jednak ma dostosowany wygląd. Niektóre aplikacje używają kontrolek niestandardowych do zmiany wyglądu kontrolki, ale kontrolki z własnym rysowaniem są bardziej dostępne. Aby uzyskać więcej informacji na temat definiowania menu rysowanych przez właściciela i uwidaczniania kontrolek rysowanych przez właściciela, zobacz Ułatwienia dostępu.

Ustanowienie superklasy lub podklasy to technika dostosowywania zachowania istniejących kontrolek. W zależności od nowego zachowania kontrolki może być konieczne uzupełnienie udostępnianych informacji o ułatwieniach dostępu. Na przykład aplikacja może użyć kontrolki narysowanej przez właściciela, aby wyświetlić znak X w zaznaczonym polu wyboru, a nie znacznik wyboru lub oznaczyć przycisk polecenia obrazem zamiast wyrazu.

W przypadku używania kontrolek własnoręcznie rysowanych, które są nadklasą lub podklasą:

  • Podaj etykiety dla wszystkich kontrolek, nawet jeśli etykiety nie są widoczne na ekranie. Jeśli dostosujesz kontrolkę tak, aby standardowy podpis nie był widoczny (na przykład przycisk z twarzą graficzną) i pozostawić podpis jako pusty ciąg, pomoc ułatwień dostępu nie może uzyskać podpisu i użyć go do identyfikacji kontrolki.
  • Upewnij się, że WM_GETTEXT jest obsługiwane.
  • Upewnij się, że wszystkie komunikaty specyficzne dla klasy są obsługiwane. Szczególnie ważna jest obsługa komunikatów pobierania tekstu, takich jak CB_GETLBTEXT i LB_GETTEXT. Ustaw odpowiednie bity stylu, takie jak CBS_HASSTRINGS i LBS_HASSTRINGS, aby wskazać, że kontrolka obsługuje te komunikaty.