Condividi tramite


Esposizione di elementi casella di riepilogo Owner-Drawn

Gli sviluppatori di applicazioni non devono implementare IAccess per esporre gli elementi in una casella di riepilogo disegnata dal proprietario con lo stile LBS_HASSTRINGS perché Microsoft Active Accessibility espone gli elementi nelle caselle di riepilogo con questo stile. Gli elementi in una casella di riepilogo disegnata dal proprietario con lo stile LBS_HASSTRINGS vengono visualizzati come testo. Tuttavia, questo stile viene usato anche con le caselle di riepilogo disegnate dal proprietario che non visualizzano testo in modo che gli elementi della casella di riepilogo vengano esposti da Microsoft Active Accessibility.

Per consentire a Microsoft Active Accessibility di esporre gli elementi in una casella di riepilogo disegnata dal proprietario che non visualizza testo:

  • Usare lo stile LBS_HASSTRINGS durante la creazione della casella di riepilogo.
  • Creare una controparte testuale che nomi o descrive ogni elemento nella casella di riepilogo.
  • Quando si aggiungono elementi alla casella di riepilogo disegnata dal proprietario, usare il messaggio di LB_ADDSTRING per aggiungere il testo che si vuole che Microsoft Active Accessibility sia esposto. Questo testo non viene visualizzato, quindi non fa parte dei dati di disegno del proprietario. Aggiungere i dati dell'elemento disegnato dal proprietario usando il messaggio di LB_SETITEMDATA .

Quando si usa il metodo precedente, tenere presente quanto segue:

  • Se si usa lo stile LBS_SORT , la casella di riepilogo viene ordinata usando le stringhe fornite e non la procedura di callback WM_COMPAREITEM.
  • Con le caselle di riepilogo delle variabili disegnate dal proprietario create con lo stile LBS_OWNERDRAWVARIABLE, usare una variabile globale o un altro meccanismo per tenere traccia di quando il membro itemData di MEASUREITEMSTRUCT è valido. La variabile globale è necessaria perché il sistema invia il messaggio di WM_MEASUREITEM non appena viene aggiunta la stringa, ma prima che i dati dell'elemento vengano collegati e a questo punto il membro itemData non è valido.
  • Per modificare la stringa per un elemento in una casella di riepilogo con lo stile LBS_HASSTRINGS, eliminare l'elemento con il messaggio LB_DELETESTRING e aggiungere la nuova stringa con il messaggio LB_ADDSTRING.