Condividi tramite


Gestione della tastiera per i controlli

Un controllo risponde agli acceleratori di tastiera in modo che l'utente finale possa avviare azioni eseguite dal controllo. Il contenitore gestisce l'attività della tastiera per tutti i controlli incorporati. Con i documenti composti, i tasti di scelta rapida si applicano solo all'oggetto attualmente attivo. Con i controlli, è stato aggiunto un meccanismo in modo che un controllo possa rispondere ai relativi mnemonic della tastiera anche se non è attualmente attivo dall'interfaccia utente.

I metodi IOleControl::GetControlInfo e IOleControl::OnMnemonic e il metodo IOleControlSite::OnControlInfoChanged gestiscono i mnemonic della tastiera di un controllo. Una struttura CONTROLINFO descrive gli acceleratori mnemonic di un controllo e i flag passati di nuovo tramite il metodo GetControlInfo descrivono il comportamento dei controlli con i tasti ENTER e ESC. Quando un controllo modifica i relativi mnemonic, chiama OnControlInfoChanged in modo che il contenitore possa ricaricare la struttura, se necessario.

Quando un controllo è attivo nell'interfaccia utente, è anche il controllo con lo stato attivo. Quando i controlli vengono attivati e disattivati tra gli stati attivi sul posto e quelli attivi dell'interfaccia utente, il controllo chiama IOleControlSite::OnFocus per indicare al contenitore tali modifiche.

Inoltre, quando un controllo è attivo, avrà la possibilità di elaborare le sequenze di tasti. Per consentire a un contenitore di elaborare la sequenza di tasti prima del controllo, il controllo chiama IOleControlSite::TranslateAccelerator. Se il contenitore non gestisce la sequenza di tasti, il controllo lo elabora.

Controlli ActiveX