Desenhar Formulários

Termos mais importantes

Formulário

Uma janela disponível para a introdução e apresentação de dados no ecrã do computador.

Fonte de dados do formulário

Uma tabela ou pesquisa na base de dados que fornece os dados apresentados no formulário. A fonte de dados é necessária porque os formulários em si são apenas ferramentas para mostrar e introduzir dados, enquanto as tabelas e pesquisas são a fonte dos dados. Os formulários novos e vazios não têm fonte de dados atribuída, pelo que não apresentam nenhuns dados da sua base de dados, a menos que lhes atribua uma fonte de dados.

Campo do formulário

O equivalente directo de uma coluna de uma tabela ou pesquisa. Os campos usados com maior frequência são os campos para mostrar o texto e os números. A introdução de um valor novo ou a alteração de um campo existente, faz com que esse campo provoque uma alteração na tabela ou coluna da pesquisa associada (depois de aceitar a alteração).

Desenho do formulário

As tarefas que estará a desempenhar para definir a aparência e a funcionalidade do formulário. Para o fazer, terá de indicar a fonte de dados, inserir os campos no formulário com vários tipos e colocá-los no local apropriado.

Elemento do formulário

Um elemento gráfico pertencente ao formulários. Os tipos de elementos gráficos principais são:

  • Os elementos mostram informações, isto é num campo de texto ou numa área de imagem. Cada item deste tipo poderá ser associado a um campo da fonte de dados (coluna de uma tabela ou pesquisa). Como tal, esses itens são chamados de campos, em resumo.

  • Os elementos capazes de efectuar uma dada acção, isto é um botão que poderá fechar o formulário actual. Dentro de outras aplicações, este tipo de item é alguma vezes denominado de controlo do formulário, porque pode efectuar uma acção previamente definida para controlar o comportamento da sua aplicação de base de dados.

  • Existem outros itens que permitem melhorar a aparência de um formulário, isto é um "item de linha" poderá separar de forma visual duas áreas do formulário.

Elemento contentor

Um item que poderá conter outros itens dentro da sua área. Por exemplo, uma moldura ou uma página são elementos contentores. A superfície do formulário é ela própria um contentor. Um botão de comando não poderá ser considerado um contentor porque não é possível introduzir um item gráfico dentro dele. Nos casos mais complexos, os itens contentores poderão ser introduzidos dentro de um contentor, de modo a possibilitar o encadeamento.

Formulários versus tabelas

No capítulo Introduzir os Dados nas Tabelas, aprendeu como introduzir os dados directamente nas tabelas, usando a sua área de dados. Contudo, em muitos casos, os formulários são mais adequados para introduzir os dados:

  • A tabela poderá conter demasiadas colunas para as apresentar no seu ecrã. O formulário poderá mostrar alguns desses dados, usando várias linhas.

  • Um formulário permite dividir a nível visual os campos de dados em grupo lógicos, aumentando assim a legibilidade. As legendas com informações adicionais poderão ser inseridas para dar mais sugestões aos utilizadores sobre como usar o formulário ou o que significam os campos de dados indicados.

  • Os botões de comandos poderão ser usados, dentro dos formulários, para os comandos normalmente usados, para que os utilizadores possam usar os formulários de forma semelhante às das aplicações autónomas conhecidas por eles.

Na área de visualização dos dados, a apresentação de dados multi-linhas ou imagens é tão fácil como nos formulários.

Trabalhar com o desenho do formulário

Como no desenho de tabelas ou pesquisas, poderá usar a Vista de Dados e Vista de Desenho. O desenho do formulário é efectuado na Vista de Desenho. Iremos fazer referências frequentes á janela de desenho do formulário como sendo o Desenho do Formulário.

  1. Para criar um novo formulário vazio, seleccione Formulário na barra de ferramentas. Opcionalmente, poderá usar o comando Criar um Objecto: Formulário do menu de contexto do Navegador do Projecto ou ainda Criar um Objecto: Formulário da lista da barra de ferramentas do Navegador de Projectos.

  2. Irá aparecer uma área nova, pelo que poderá dimensionar o formulário, movendo para isso os seus contornos. O formulário estará coberto com uma grelha, para simplificar o posicionamento preciso dos elementos.

Como acontece no desenho de tabelas, o Desenhador do Formulário fornece uma área Editor de Propriedades. Para poupar algum espaço no ecrã, a área tem três páginas relacionadas com o formulário seleccionado de momento:

A página de Propriedades

Contém uma lista das propriedades do elementos gráfico seleccionado de momento.

A área da Fonte de Dados

Contém as propriedades relacionadas directamente com a fonte de dados do item seleccionado ou do formulário em si.

A página de Itens

Contém uma hierarquia com todos os elementos do formulário. A lista simplifica a pesquisa dos elementos por nome e a navegação pelos mesmos.

Existe alguma informação, acerca do nome e o tipo do elemento seleccionado de momento, na primeira e segunda páginas.

Estão também disponíveis algumas barras de ferramentas adicionais:

  • A barra de Elementos é usada para introduzir itens gráficos no formulário. Seleccione o Desenho do Formulário para a mostrar.

Usar a página de Elementos

A página de Elementos na área de Propriedades oferece uma lista com elementos do formulário e a sua hierarquia. Cada elemento é apresentado dentro da hierarquia, para além dos outros elementos ao mesmo nível (com o mesmo contentor-pai). Os elementos-filhos (dentro de contentores) são apresentados com nomes indentados.

Cada elemento apresenta o seu nome e tipo. O tipo também tem um ícone visível - o mesmo que aparece na barra de ferramentas que é usada ao desenhar o formulário.

Nota

  • A mudança da selecção actual na lista provoca uma selecção apropriada no formulário designado. Isto permite uma pesquisa mais simples dos elementos pelo nome, bem como uma navegação mais simples. Por exemplo, é possível seleccionar um elemento pelo nome, mudando depois para a página de Propriedades, para mudar as propriedades do elemento.

  • Se mantiver a tecla Ctrl carregada, enquanto estará seleccionado um item na lista de elementos, permite seleccionar vários elementos de cada vez. Se mantiver a tecla Shift carregada, permite seleccionar listas de elementos inteiras.

A atribuição de nomes razoáveis poderá ser útil mas não obrigatória. Lembre-se que o nome de um elemento é uma propriedade que não é visível para o utilizador do seu formulário. Os utilizadores só irão ver um texto do elemento, indicado pela propriedade Texto ou outra do género.

Inserir elementos - campos de texto

Vamos criar um formulário que fornece informações acerca das pessoas, isto é um formulário ligado à tabela Pessoas.

Se o formulário a ser desenhado deverá apresentar os dados obtidos da base de dados, terá de colocar campos apropriados nele. Para o fazer, use os botões na barra de Elementos. Cada botão corresponde a um único tipo de item.

  1. Carregue no botão Campo de Texto da barra de Elementos.

  2. Carregue na superfície do formulário com o botão esquerdo do rato. Será colocado um novo campo de texto no ponto em que carregou. Antes de largar, poderá arrastar o seu rato para definir o tamanho desejado para o item.

  3. Se necessário, mova o elemento inserido com 'drag & drop' para uma posição desejada. Poderá dimensionar depois o elemento, arrastando uma das pequenas opções que aparecem perto dos seus cantos. Repare que as opções só ficam visíveis quando o elemento estiver seleccionado. Se seleccionar outro elemento ou a superfície do formulário, desaparecem as opções.

  4. Carregue no botão Campo de Texto de novo e carregue na superfície do formulário para inserir outro elemento. Repita esta acção até que tenha três campos de texto no seu formulário. Por questões de simplificação, iremos limitar-nos a três campos de dados.

Nota

  • Existe um menu de contexto disponível no modo de desenho do formulário, activado ao carregar com o botão direito do rato sobre o elemento desejado ou na superfície do formulário. O menu oferece comandos como o Cortar, Copiar, Colar, Apagar ou outros mais complexos. Também estão disponíveis atalhos de teclado para esses comandos. Alguns dos comandos só estão disponíveis para certos tipos de elementos.

  • Os comandos Cortar, Copiar e Colar permitem mover ou copiar os itens entre formulários, mesmo entre projectos de bases de dados separados.

  • Se mantiver carregada a tecla Ctrl, enquanto carrega num elemento, poderá seleccionar vários elementos gráficos.

  • Em vez de usar os comandos Copiar e Colar, para duplicar um elemento dentro do mesmo formulário, poderá manter carregada a tecla Ctrl enquanto move o elemento. Depois de largar o botão do rato, o item arrastado não será movido mas sim copiado para o novo local.

Atribuir fontes de dados

Os campos que introduziu não têm fonte de dados atribuída ainda, pelo que não serão capazes de mostrar informações da base de dados. Para atribuir uma fonte de dados, use a página Fonte de Dados () da área do Editor de Propriedades.

O primeiro passo de todos é indicar a fonte de dados do formulário, isto é o local de onde os dados apresentados serão obtidos. Como descrito acima, irá usar a tabela Pessoas como fonte de dados para o seu novo formulário.

  1. Carregue na superfície do formulário, dado que vai alterar as suas propriedades.

  2. Mude para a página da Fonte de Dados () e indique o nome da tabela Pessoas na lista da Fonte de dados do formulário. Em alternativa, poderá seleccionar este nome a partir da lista.

Você atribuiu a fonte de dados do formulário. Agora precisa de indicar a fonte de dados do elemento.

  1. Carregue no primeiro campo de texto, no topo do formulário.

  2. Na página da Fonte de Dados () da área de propriedades, indique o nome do campo nome na lista Fonte de dados do elemento. Em alternativa, poderá seleccionar este nome na lista.

  3. Carregue no campo de texto seguinte e indique o apelido como fonte de dados.

  4. Indique as fontes de dados para os campos de texto 'rua', 'numero_porta' e 'cidade' de forma semelhante.

Poderá agora gravar o desenho do formulário (isto não é obrigatório para testar o formulário em acção). Para gravar, carregue no botão Gravar da barra de ferramentas. Depois de gravar, ser-lhe-á pedido para indicar o nome do formulário. Escreva Pessoas como título e carregue no botão OK. O nome do formulário será preenchido automaticamente.

Este é o momento exacto para testar o seu formulário. Carregue no botão Dados da barra de ferramentas. A menos que tenha cometido algum erro ao introduzir as fontes de dados, deverá ver os campos do formulário preenchidos com os dados da tabela Pessoas.

Nota

  • Se quiser remover a atribuição da fonte de dados para um elemento do formulário, poderá usar o pequeno ícone preto com uma cruz branca () à direita do campo Fonte de dados do elemento.

  • Use o botão para à direita da Fonte de dados do formulário para seleccionar a tabela ou pesquisa apropriada no Navegador do Projecto, para que possa rapidamente abrir uma tabela ou pesquisa, sendo a fonte de dados do formulário.

Inserir legendas de texto

Para facilitar ao utilizador do formulário a identificação do significada de cada elemento dos campos, estes deverão ter adicionadas legendas de texto com títulos apropriados. Para criar legendas de texto, é usado o item Legenda.

Introduza três campos de texto no formulário, colocando-os do lado esquerdo dos campos de texto (ou do lado direito, se o seu sistema operativo usar uma escrita da direita-para-a-esquerda). Ao inserir uma nova legenda, aparece um cursor de texto no local em que poderá introduzir o título desejado. Indique consecutivamente: Nome, Apelido e Rua. Para além disso, no topo do formulário, indique outra legenda que mostra o nome do formulário, isto é Pessoas. Alargue o texto desta legenda e aumente o tamanho da letra com o Tipo de Letra da página de Propriedades.

Acções

Uma acção é uma única actividade isolada na aplicação, disponível para o utilizador a executar. Também poderá ser executada automaticamente como reacção para um dado evento (isto é depois de abrir um formulário).

Atribuir acções aos botões dos formulários

A maioria das acções poderão ser atribuídas aos botões dos formulários. A acção atribuída é executada, depois de carregar no botão.

Para atribuir uma acção:

  1. Mude para a vista de Desenho do formulário, caso ainda não o tenha feito.

  2. Seleccione o elemento do botão existente, carregando nele, ou coloque um novo botão no formulário. Se introduzir um novo botão, indique o seu título e carregue em Enter.

  3. Carregue no elemento do botão, com o botão direito do rato, para mostrar o menu de contexto.

  4. No menu de contexto, seleccione o comando Atribuir uma acção....

  5. Irá aparecer uma janela de Atribuição de uma Acção a um Botão de Comando, apresentando uma lista de acções disponíveis. Uma das acções fica seleccionada, se o elemento já tiver uma acção atribuída. Caso contrário, a lista da Categoria de acção terá o item Sem acção seleccionado.

  6. Na lista da Categoria de acção, seleccione o item Acções da aplicação. Serão apresentadas as acções ao nível da aplicação.

  7. Seleccione uma das acções da lista (isto é, Apagar o Objecto Seleccionado).

Depois de mudar para a vista de dados do formulário, poderá tentar ver se a acção funciona.

Nota

  • Para remover a atribuição da acção, seleccione o item Sem acção da lista Categoria da acção da janela Atribuir uma Acção a um Botão de Comando.

  • As acções só funcionam na vista de dados do formulário. Nem todas as atribuições de acções são razoáveis. Por exemplo, a acção Tipo de Letra... estará disponível na vista de dados, mas só se tiver um elemento seleccionado na vista de Desenho. Se tiver feito alterações aos tipos de letra, as alterações são aplicadas ao texto desse elemento seleccionado.

Disposições dos elementos

Na maioria dos casos, os elementos gráficos do formulário deverão estar devidamente colocados e alinhados. O posicionamento, o alinhamento e o dimensionamento dos elementos à mão não é simples e estes parâmetros não são ajustados quando o utilizador dimensiona o formulário. De facto, a situação é ainda pior, porque não consegue assumir que um dado formulário necessitada de um dado espaço, porque os utilizadores têm diferentes tamanhos de letra e resoluções do ecrã.

Se usar uma ferramenta especial, chamada de 'disposições de elementos', poderá colocar automaticamente os elementos do formulário. A disposição do elemento é uma acção que consiste em agrupar dois ou mais elementos, de modo que fiquem bem posicionados e tenham tamanhos adequados.

A utilização de disposições neste formulário melhora o alinhamento. Para além disso, o seu espaço é melhor desenvolvido. Os campos de texto ficam mais próximos uns dos outros, mantendo-se o espaço de intervalo constante.

Políticas de tamanho dos elementos numa disposição

Em vez de definir um tipo de letra monoespaçado para os seus elementos, no Kexi poderá optar entre várias políticas de tamanho dos elementos. Uma política de tamanho é uma estratégia flexível para controlar como é esticado (ou encolhido) um elemento, dependendo dos elementos vizinhos e do espaço disponível dentro do formulário.

Depois de colocar itens numa linha, os mesmos serão dimensionadas para caber o texto visível deles.

Para cada elemento introduzido no formulário, existem definições para a política de tamanho disponíveis no Editor de Propriedades. As definições são apresentadas como um grupo de propriedades chamado Política de Tamanho.

Este grupo de propriedades contém:

Política de Tamanho Horizontal

define o tamanho horizontal do elemento,

Política de Tamanho Vertical

define o tamanho vertical do elemento,

Esticamento Horizontal

definir a potência da actividade da Política de Tamanho Horizontal,

Esticamento Vertical

definir a potência da actividade da Política de Tamanho Vertical

Valores das políticas de tamanho

Estão disponíveis os seguintes valores na lista para a Política Horizontal e Política Vertical, visíveis no Editor de Propriedades:

Fixo

este valor significa que o elemento não poderá ser dimensionado automaticamente; deverá manter o tamanho constante, que foi definido na altura do desenho (altura ou largura),

Mínimo

este valor significa que o tamanho original do elemento é definido como o mínimo permitido, sendo suficiente e não existindo a necessidade expandir o elemento, se bem que este possa ser expandido, se for necessário. Este tipo de política poderá ser usado para obrigar o elemento a ser expandido para a largura ou altura completas, especialmente se definir um valor de esticamento maior que 0.

Máximo

este valor significa que o tamanho original do elemento é definido como o máximo permitido, podendo ser diminuído sem quebrar a usabilidade e legibilidade do elemento, se os outros elementos precisarem de mais espaço,

Preferido

este valor significa que o tamanho original do elemento é o melhor e o pretendido; o elemento poderá ser encolhido ou expandido, todavia, mantendo-se à mesma legível,

Expansível

este valor significa que o tamanho original do elemento é razoável, mas o elemento poderá também ser encolhido; poderá também ser expandido, para ocupar o espaço máximo que for possível,

Expansão Mínima

este valor significa que o tamanho original do elemento é permitido; poderá ser expandido, para ocupar o espaço máximo que for possível,

Ignorado

este valor significa que o tamanho original do elemento é ignorado; o elemento poderá ser expandido, para ocupar o máximo de espaço possível, só que os outros elementos não permitem isso, normalmente

Os diferentes tipos de elementos têm diversas políticas de tamanho predefinidas; por exemplo, os elementos dos botões têm uma política de tamanho predefinida igual a Mínimo (em todas as direcções), enquanto os elementos de texto tem a política de tamanho vertical igual a Fixo.

As políticas de tamanho usadas com maior frequência são o Preferido, o Mínimo e o Máximo.

Esticamento horizontal e vertical

As propriedades Esticamento Vert. e Esticamento Horiz. aceitam números inteiros maiores ou iguais a 0. Estas propriedades permitem afinar o comportamento das políticas de tamanho. O valor predefinido das propriedades é 0 (zero). Um valor maior significa que o elemento será mais expandido que os outros elementos que tiverem um valor de esticamento menor.