1 Programação Visual Orientada a Eventos. 2 Conceito Programação Visual é um modelo de...

Preview:

Citation preview

1

Programação Visual Orientada a Eventos

2

Conceito

Programação Visual é um modelo de Programação no qual os usuários obtém informações através de imagens e objetos usualmente oriundos de uma tela de vídeo.

3

Programação Visual e Janelas

Usam-se Interfaces Gráficas (baseadas em janelas ) para interação com o usuárioAs interfaces gráficas contém uma janela principal e um número variável de janelas secundárias A janela principal trata da interação primária com o usuário e contém um número arbitrário de objetosAs janelas secundárias fornecem detalhes sobre os objetos exibidos na janela principal e sobre operações envolvendo esses objetos

4

Programação Visual e Janelas

O usuário interage com o sistema selecionando um ou mais objetos (clicando sobre eles, por exemplo) e depois escolhendo uma operação (usando um menu, por exemplo) para ser executada sobre os objetos selecionados. São operações usuais Cortar, Copiar, Colar, Excluir e Ver Propriedades.

5

Programação Visual e Janelas

Janelas principais possuem uma barra de menus tipo cortina ou "drop-down".

Pode-se escolher operações por meio de menus suspensos ou "pop-up" (acionando o botão direito do mouse sobre o objeto desejado).

Caso o número de objetos presentes seja grande pode-se empregar barras de rolagem ou simplesmente redimensionar a janela.

As janelas também podem ser subdivididas em painéis ou quadros, que se pode redimensionar ou rolar.

6

Janelas Secundárias

Janelas Secundárias dão suporte às janelas principais. Na janela principal só é possível exibir algumas propriedades dos objetos nela contidos. Outras propriedades podem ser vistas em janelas secundárias nas quais podem ser manipuladas por meio de botões Liga/Desliga, Caixas de Seleção, Botões de Seleção, Réguas, Caixas de Texto e Caixas Combinadas.

7

Janelas Secundárias

Para diferenciar uma janela principal de uma janela secundária é interessante verificar que:

Janelas principais são consideradas mais importantes, recebendo o maior foco de atenção de projetistas e usuários

Janelas secundárias são exibidas navegando a partir das janelas principais e não vice versa.

8

Janelas Secundárias

Além das janelas de propriedades, outros tipos de janelas secundarias são:

Caixas de Diálogo Caixas de Mensagens Paletas Janelas suspensas ("pop-up")

9

Janelas Secundárias

Muitas aplicações são baseadas em arquivos. Os usuários podem disparar estas aplicações com operações de Abrir um arquivo ou objeto e a janela principal mostra os objetos armazenados no arquivo aberto ou objeto selecionado. As operações usuais sobre arquivos são Salvar, Salvar Como, Abrir e Novo.

10

Janela Secundária de Propriedades de objetos

Barras de rolagem

11

Janela Secundária de Operações sobre objetos

12

Conceitos

Formulário – Uma superfície retangular que serve para modelar o fundo de imagem e para receber diversos componentes;

Componente – Um objeto que pode ser anexado a um formulário para acrescentar uma determinada funcionalidade.

13

Os componentes podem ser de diversos tipos

14

Componentes para exibição e entrada de textos

Rótulos ou textos

Caixas de texto

15

Componentes que apresentam escolhas para os usuários

Caixas de seleção (CheckBox)Botões de opção (OptionButton)Caixas de Listas (ListBox)Caixas combinadas (ComboBox)

16

• Componentes do tipo botões de comando (CommandButton)

• Barras de Rolagem (ScrollBar)Componentes que exibem figuras e gráficos

• Caixas de figuras (PictureBox)ImagensFormas e linhas (Shape, Line)

17

Painel

Caixa de texto

Caixa de seleção

Botão de opção

Botão de comandoCaixa combinada

Rótulo

18

Janela secundária tipo paleta

19

Componentes adicionais

MenusControles de Acesso a DadosControles de Sistemas de ArquivosControles DiversosRelógio (Timer)Caixas de diálogo comum (CommonDialog)Repositório de OLE (OLEContainer)Quadros (Frame)Barras de Ferramentas (Toolbar)Caixas de Diálogo

20

Menus

Barra de menus (Drop-Down)

Títulos de Menus

Item de Menus

Menus flutuantes (Pop-Up)

21

Menu tipo cortina

22

Controles de Acesso a Dados

يج Listas de Dados (DataList)

يج Caixas combinadas de dados (DataCombo)

يج ADO Data Control

يج Grelhas de Dados (DataGrid)

يج Grelhas Hierárquicas (HierarchicalFlexGrid)

23

Controles de Sistemas de Arquivos

Caixas de Listas de Unidades (DriveListBox)

Caixas de Listas de Pastas (DirListBox)

Caixas de Listas de Arquivos (FileListBox)

24

Menu Suspenso

Caixa de listas de arquivos

Caixa de listas de unidades

Caixa de listas de pastas

25

Janela de arquivos

26

Controles Diversos

Relógio (Timer)

Caixas de diálogo comum (CommonDialog)

Repositório de OLE (OLEContainer)

Quadros (Frame)

Menus

27

Caixas de Diálogo

Caixas modais e não modais

Caixas Customizadas

Caixas pré definidas

Caixas de Entrada (InputBox)

Caixas de Mensagens (MsgBox)

28

Caixa de mensagens

29

Caixa de diálogo

30

Descrição Sumária dos Componentes

31

Descrição dos Componentes

Componentes do tipo botões de comando (CommandButton)

Barras de Rolagem (ScrollBar)

Componentes que exibem figuras e gráficosCaixas de figuras (PictureBox)

Imagens

Formas e linhas (Shape, Line)

32

Descrição dos Componentes

Rótulos são áreas contendo textos e/ou imagens que, durante a execução do programa não podem ser alterados diretamente pelo usuário.

Caixas de texto são áreas contendo textos que, durante a execução do programa podem ser alterados diretamente pelo usuário.

33

Descrição dos Componentes

Botões de comando são áreas que correspondem a botões de acionamento de máquinas virtuais construídas pelo programa.

Quadros, painéis ou “frames” são áreas diferenciadas do formulário destinadas a agrupar diversos componentes cujo emprego tenha uma ligação lógica.

34

Descrição dos Componentes

Caixas de seleção são áreas utilizadas para indicar opções que podem estar selecionadas ou não sendo que essas opções são independentes umas das outras.Botões de opção são áreas utilizadas para indicar opções mutuamente exclusivas fazendo com que quando o usuário selecionar um desses botões torne sem ação todas as demais opções de mesma natureza.

35

Descrição dos Componentes

Imagens servem para exibição de gráficos. Esses controles aceitando cliques de mouse servem também como botões de comando. Quando se carregar uma figura em um controle imagem o ajustamento entre tamanhos é feito pela propriedade Strecht. Quando esta for verdadeira a figura se ajusta ao tamanho do controle, podendo gerar distorções. Quando a propriedade for false o controle imagem se ajusta ao tamanho da figura.

36

Componente Imagem

37

Descrição dos Componentes

Os controles Figura exibem gráficos e servem como aglutinadores de outros controles. Os controles figura são mais poderosos que os controles Imagem e consomem mais recursos computacionais.

38

Componente Figura

39

Propriedades

40

Propriedades

Os formulários e componentes são caracterizados por uma lista de propriedades ou atributos.

Para cada elemento visual as propriedades mais comuns são descritas a seguir

41

Propriedades

Nome – identificador do componente dentro da programação;

“Caption”- texto identificador do componente e que é exibido para o usuário;

Dimensões – largura e comprimento do componente que, usualmente, é retangular;

42

Propriedades

Posição no formulário – distâncias entre as bordas esquerda e superior do formulário e as bordas correspondentes do componente;

Cor de fundo – cor da superfície do componente;

Cor de frente – cor do texto apresentado no componente;

Bordas – tipo de borda exibido;

43

Propriedades

Variação automática de tamanho – capacidade de acomodação a textos de tamanho variável e ao tamanho da tela;

As dimensões podem ser expressas em diversas unidades. Usualmente são expressas em twips que correspondem a 1/20 de um ponto de impressão. Como existem 72 pontos por polegada existem 1440 twips por polegada ou 567 twips por centímetro.

44

Caixa de propriedades

45

Métodos

46

Métodos

Métodos são ações próprias do componente e que são previamente programadas

47

Métodos

Método Botão de comando Rótulo Caixa de Texto Caixa de Listas

Refresh sim sim sim sim

Set Focus sim sim sim sim

Move sim sim sim sim

ADDItem não não não sim

Clear não não não sim

48

Utilização

49

Utilização

Os componentes são exibidos em barras de componentes ou paletas. Ao se iniciar um projeto automaticamente é exibido um formulário ainda não utilizado (“em branco”).

50

Utilização

Para inserir um componente no formulário seleciona-se o componente na barra ou paleta (com o mouse) e, a seguir, pressiona-se o botão esquerdo do mouse no ponto do formulário que corresponderá ao vértice superior esquerdo do componente inserido. Mantendo o mesmo botão pressionado leva-se o mouse até o ponto correspondente ao vértice direito inferior do componente e solta-se o botão.

51

Formulário e Barra de ferramentas de componentes

Barra de ferramentas de componentes

Formulário

52

Utilização

Imediatamente é exibida a lista de atributos ou propriedades do componente que poderá, então, ser preenchida ou alterada. Quando se desejar inserir outro componente basta repetir o procedimento.

53

Utilização

A qualquer tempo pode-se selecionar um componente do formulário. Nessa ocasião o componente anteriormente selecionado perderá o foco de atenção e a lista de atributos exibida será a do novo componente selecionado. Caso seja acionada a tecla “Delete” estando selecionado um componente o mesmo será excluído do formulário.

54

Utilização

Chama-se de foco à capacidade de receber entradas do usuário via teclado ou mouse. Apenas um componente de cada vez possui o foco que pode ser transferido por ações de mouse, teclado ou programação.

Normalmente o ordem de transferência de foco é definida pela propriedade ordem de tabulação pois as teclas de entrada e de tabulação alteram a ordem de transferência de foco.

55

Utilização

Para alterar tamanho de um componente selecionado basta aproximar o mouse de suas bordas. Nessa ocasião exibem-se setas duplas indicando direção de crescimento/decrescimento do componente. Basta, então arrastar as bordas no sentido desejado que pode ser horizontal, vertical ou inclinado sendo que neste último caso serão mantidas as proporções entre as dimensões do componente antes e depois da alteração de tamanho.

56

Utilização

Para mudar um componente de posição basta colocar o mouse sobre o componente e mover o mouse na direção desejada.

57

Utilização

Pode-se selecionar simultaneamente diversos componentes para ajustar propriedades comuns tais como dimensões, cor, tipo de letra, borda ou propriedades de alinhamento.

58

Eventos

59

Eventos são ações que atuam sobre o ambiente do programa. Os eventos mais comuns e evidentes são provenientes da ação do usuário, tais como Ação do mouse (botão sendo abaixado, ou

clique) Entrada de dados via teclado Seleção de um item de uma lista Mudança de uma lista ou caixa

60

Eventos

Na programação orientada a eventos os programas não tem processamento monolítico iniciando-se no disparo do programa e indo até a última linha de código e seu encerramento de uma só vez. Os programas são divididos em pequenos trechos que descrevem as respostas que o sistema deve fornecer a determinados eventos.

61

Eventos

Após processar a resposta a um determinado evento o sistema permanece em estado de espera da ocorrência de um outro evento, Os programas só terminam em resposta ao evento de encerramento ou em caso de falha.

62

Eventos

Os eventos usuais, que já tem cabeçalhos prontos para auxiliar o programador, comuns a praticamente todos os componentes são : Click, DragDrop, DeagOver, GotFocus, LostFocus, KeyDown, KeyUp, KeyPress, MouseDown, MouseUp, MouseUp e MouseMove.

63

Eventos

Alguns componentes possuem previstos eventos de Change, Scroll, DbClick, ItemChecked e outros.

64

Tratamento de Eventos

65

Tratamento de Eventos

Os eventos, quase sempre, são associados a componentes do formulário. Para escrever o código correspondente a um evento ligado a um componente deve-se passar ao editor de código. Isto é feito dando um duplo clique no componente (na janela do formulário).

66

Tratamento de Eventos

Isto faz com que se abra a janela do editor de código com um protótipo do procedimento de tratamento do evento já iniciado. Para cada componente existem definidos um grande número de possíveis eventos que o editor de código exibe em um ComboBox

(Caixa de Procedimentos/Eventos).

67

Tratamento de Eventos

Nesta Caixa é exibido o Procedimento associado ao evento selecionado. Uma outra ComboBox é a Caixa de Objetos que exibe o objeto selecionado e contém a lista de todos os objetos associados ao formulário.

68

Tratamento de Eventos

O código normalmente é dividido em diversas seções, sendo uma delas a seção geral para as variáveis globais e declarações, uma seção relativa ao formulário e uma seção para cada objeto contido no formulário. Na seção de cada objeto podem existir diversos procedimentos de tratamento de eventos.

69

Editor de códigos

O editor de códigos apresenta um recurso de completamento de código através do qual sempre que se digitar o nome de um componente ou objeto e se aguardar um instante será apresentada uma lista de possíveis continuações da qualificação do objeto.

70

Editor de código

Editor de código

71

Completamento de código

72

“Arrays” de componentes

Coleção ou grupo de componentes que compartilham o mesmo nome, o tipo e os procedimentos de tratamento de eventos

Emprego mais freqüente é em menus e em agrupamento de botões de opção

Utiliza menor quantidade de recursos do que o uso de múltiplos componentes semelhantes independentes uns dos outros

Para criar um “array” de componentes basta dar o mesmo nome de um componente existente e confirmar a intenção de criar um “array” de componentes

Os elementos de um “array” são identificados pelo nome do “array” seguido da numeração seqüencial de sua posição dentro do “array”, entre parênteses. A numeração inicia em zero.

73

Um projeto Visual Basic compreende diversos arquivos

Módulos de formulários (.frm) Módulos de classes (.class) Módulos padrão (.bas) Módulos de recursos (.res) Documentos ActiveX (.dob) Controles do usuário (.ctl) Módulos de propriedade de páginas (.pag) Controles ActiveX (.ocx)

74

Inclusão de Controles ActiveX

A inclusão de controles ActiveX em um projeto é feita através da Caixa de Diálogos de Componentes. Na lista de componentes exibida na aba Controles deve-se selecionar a caixa de seleção à esquerda do nome do componente e acionar o botão OK. Isto fará com que o componente passe a aparecer na barra de ferramentas. Caso o componente não figure na Caixa de Diálogo deve-se acionar o botão Browse e procurar em outras pastas os discos o arquivo com o componente desejado. Quando este arquivo é selecionado automaticamente o nome do componente vai para a caixa de diálogo com a caixa de seleção selecionada.

75

Dimensões Visuais

As dimensões visuais são posição, tamanho, forma e cor.

A usabilidade das interfaces cresce bastante usando dimensões visuais dos objetos e seus atributos.

Por meio das dimensões visuais pode-se exibirde um número de atributos maior do que aquele mínimo necessário para identificar um objeto.

76

Vantagens de exibição de maior número de atributos

Evitar que o usuário tenha o trabalho adicional de navegação para visualizar outros atributos do objeto selecionado

Permitir que o usuário verifique os diversos aspectos dos objetos ao mesmo tempo, o que é bom para comparações e o reconhecimento de padrões.

77

Posição

Combinando com tamanho pode exibir as posições do mundo real

Essencial para GIS, CAD, WYSIWYG

Em algumas situações é importante e em outras não (tamanho de aeroportos em cartas aeronáuticas)

78

Tamanho

Para representar um arquivo, por exemplo, o tamanho do objeto exibido pode representar o espaço de armazenamento ocupado pelo arquivo

Para uma conta bancária o tamanho do objeto exibido pode representar o saldo.

Uma escala logarítmica é melhor do que uma escala linear, pois escalas lineares tendem a crescer muito, ocupando muito espaço nas janelas.

79

Forma

O atributo forma usualmente é explorado por meio de ícones. As formas são boas na representação de tipos mas não o são para dados numéricos ou literais.

80

Ícones

81

Cor

A percepção visual pode ser dividida em três componentes: matiz, saturação e sombra.Matiz pode representar tipo para uma pequena enumeração de valores.Saturação pode ser má escolha pois alta saturação torna a interface desagradável e baixa diferenças de saturação são difíceis de perceber visualmente.Para que a sombra não seja confusa deve-se evitar o branco e o preto totais, ficando entre o sombreamento alto e baixo.

Recommended