Livro WxWidgets

Share Embed Donate


Short Description

Livro wxWidgets preview...

Description

Manipulação de Eventos Eventos Neste capitulo iremos explicar como tudo por trás da programação orientada a eventos com wxWidgets, incluindo como os eventos são gerados, como uma aplicação os manipula usando a tabela de eventos. Também discutiremos como plugar e manipular eventos dinâmicos, e nós iremos descrever como você pode criar sua própria classe de evento, tipos e macros.

Programação Orientada a Eventos

Toda aplicação GUI é orientada a evento. Isto quer dizer, que a aplicação fica em um loop esperando que um evento seja iniciado pelo usuário, ou por alguma outra fonte. E então despacha este evento para uma função apropriada que irá manipula-lo. Cada frameworks têm métodos diferentes de expor a manipulação de eventos ao desenvolvedor desenvolvedor – o primeiro método em wxWidgets é o uso da tabela de eventos , que será explicada na próxima seção.

Tabela de Eventos

O sistema de processamento de eventos wxWidgets é um mecanismo mais flexível do que as funções virtuais o que nos permite evitar declarar todos os manipuladores de eventos possíveis em uma classe base, o que seria totalmente inviável, bem como ineficiente. Toda classe classe que deriva de wxEvtHandler, incluindo frames, botões, menus, e até documentos pode conter uma tabela de eventos para dizer ao wxWidgets como os eventos são encaminhados para funções manipuladoras. Todas as classes de janela (derivadas de wxWindow) e a classe da aplicação a plicação são derivadas de wxEvtHandler. Para criar uma tabela de eventos estático você precisa: 1. Declarar uma nova classe que deriva diretamente ou indiretamente de wxEvtHandler. 2. Adicionar uma função membro para cada evento que será manipulado. 3. Declarar a tabela de eventos na classe com DECLARE_EVENT_TABLE. 4. Implementar a tabela de eventos no código fonto com BEGIN_EVENT_TABLE e END_EVENT_TABLE.

5. Adicionar entradas para a tabela de eventos (assim como EVT_BUTTON), Passando cada evento para a função apropriada.

Manipulação de Eventos Conectáveis

Voce não precisa derivar uma nova classe da classe da janela afim de processar eventos. Em vez disso, você pode derivar uma classe nova de exEvtHandler, definir uma tabela de eventos apropriada, e então chamar wxWindow::PushEventHandler para adcionar a pilha de manipuladores de eventos. Seu novo manipulador de eventos ira capturar eventos primeiro, se ele não for processado, o próximo manipulador de eventos na pilha ira ser procurado e assim por diante.

Anatomia da Janela

Naturalmente você sabe o que é uma janela, mas para um melhor entendimento de como usar a API wxWidgets é bom ter uma compreensão do modelo de janela a wxWidgets usa. Ela difere cada janela para determinada plataforma. O conceito de uma janela Uma janela é uma área retangular com um conjunto de propriedades(decorações tipo botões etc)

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF