Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Eventos do teclado

From Wiki
Jump to: navigation, search
Article Metadata

Artigo
Criado por cabezonxdg em Cabezonxdg
Última alteração feita por hamishwillee em 09 Dec 2011

Aplicações que desejam receber eventos do teclado precisam ter seus controles adicionados a Pilha de controles (Control Stack), uma vez na pilha os eventos do teclado serão entregues aos controles de acordo com a ordem da pilha (último que entra é o primeiro que sai - last in first out), eles terão a gerência destes eventos até que sejam consumidos (isto é, tenha sido utilizado por um controle).

Quando um evento no teclado ocorre, são gerados três tipos de eventos (EEventKeyDown, EEventKey e EEventKeyUp). A função CCoeControl::OfferKeyEventL será utilizada para gerênciar estes eventos.

AddToStackL() e RemoveFromStack()

Para adicionar um controle na pilha de controles é feita uma chamada a função AddToStackL, protótipo:

IMPORT_C void AddToStackL(const MCoeView &aView, CCoeControl *aControl, TInt 
aPriority=ECoeStackPriorityDefault, TInt aStackingFlags=ECoeStackFlagStandard);

Pode-se passar como referência apenas o view que contem o controle. Ou o controle como sendo o view. Como uma visão superficial pode-se ignorar os parâmetros aPriority e aStackingFlags iremos utilizar seus valores defaults.

O Controle deve ser removido da pilha através da função:

RemoveFromStack(CCoeControl *aControl);

NOTA: Para controles compostos, apenas o controle "pai" deve ser adicionado a pilha de controles. No controle composto é que então deve ser implementado o uso de controles pelos seus "filhos".

OfferKeyEventL

A função OfferKeyEventL deve ser implementada na classe do controle que deseja realizar eventos do teclado.

Protótipo:

virtual IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
TEventCode aType);

Os parâmetros dessa função indicam qual tecla foi pressionada (TKeyEvent &aKeyEvent) e qual o seu evento (TEventCode aType). Esses códigos são enumerações que indicam qual tecla foi pressionada, (EKeyUpArrow, EKeyDownArrow, etc), a lista com todas as enumerações pode ser encontrada no cabeçalho e32keys.h. Caso o controle não tenha utilizado o teclado ele deve retornar EKeyWasNotConsumed, caso contrário retornar EKeyWasConsumed.

Quando um evento do teclado ocorre, essa função é chamada para cada controle que esteja na pilha de controles (control stack), até que cada um realize o evento e retorne EKeyWasConsumed ou EKeyWasNotConsumed.

Exemplo

Eventos do teclado - Exemplo

This page was last modified on 9 December 2011, at 04:21.
186 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×