Condividi tramite


Uso di controlli personalizzati

È possibile personalizzare i controlli standard usando il disegno del proprietario per modificare l'aspetto del controllo e stabilire una superclasse o una sottoclasse per modificare il comportamento del controllo. In ogni caso, il codice di sistema sottostante per il tipo di controllo standard gestisce le funzioni di controllo di base. La maggior parte di questi controlli può essere accessibile se vengono usati correttamente.

Un controllo disegnato dal proprietario basato su un controllo standard viene visualizzato come controllo standard per l'accessibilità e supporta Microsoft Active Accessibility; tuttavia, ha un aspetto personalizzato. Alcune applicazioni usano controlli personalizzati per modificare l'aspetto di un controllo, ma i controlli disegnati dal proprietario sono una soluzione più accessibile. Per altre informazioni su come definire i menu disegnati dal proprietario ed esporre controlli disegnati dal proprietario, vedere Accessibility.

Stabilire una superclasse o una sottoclasse è una tecnica per personalizzare il comportamento dei controlli esistenti. A seconda del nuovo comportamento del controllo, potrebbe essere necessario integrare le informazioni di accessibilità esposte. Ad esempio, un'applicazione può usare un controllo disegnato dal proprietario per visualizzare una X in una casella di controllo selezionata, anziché un segno di spunta o etichettare un pulsante di comando con un'immagine anziché una parola.

Quando si usano controlli disegnati dal proprietario che sono una superclasse o una sottoclasse:

  • Specificare le etichette per tutti i controlli, anche quando le etichette non sono visibili sullo schermo. Se si personalizza un controllo in modo che la didascalia standard non sia visibile ,ad esempio un pulsante con un viso grafico, e lasciare la didascalia come stringa vuota, l'aiuto per l'accessibilità non è in grado di ottenere la didascalia e usarla per identificare il controllo.
  • Assicurarsi che WM_GETTEXT sia supportato.
  • Assicurarsi che tutti i messaggi specifici della classe siano supportati. È particolarmente importante supportare messaggi di recupero del testo, ad esempio CB_GETLBTEXT e LB_GETTEXT. Impostare i bit di stile appropriati, ad esempio CBS_HASSTRINGS e LBS_HASSTRINGS, per indicare che il controllo supporta tali messaggi.