Criando uma classe de formulário a partir do formulário USUARIOS.SCX

Vamos criar uma classe a partir do formulário usuarios.scx porque todo o código necessário para o seu funcionamento como os métodos de coordenação de controles, botões, navegação já estão ali agregados (encapsulados) no formulário e todos os botões já estão prontos.

Evidentemente que algumas coisas não serão reaproveitadas como por exemplo a tabela de usuários e os campos.

Criando a Classe:

  1. Abra o formulário de usuários para edição, clicando no botão Modify do gerenciador de projetos.
  2. Certifique-se de que nenhum objeto do formulário esteja selecionado e depois clique no menu File, e depois em Save As Class…

Figura 46 – Gravando um formulário como Classe

3.   Clique no botão OK.

A  partir desse momento uma nova biblioteca de classes foi criada com o nome formulários.vcx. Dentro dessa classe está a definição da classe FormularioPadrao.

Adequando a Classe FormularioPadrao

Agora que nossa classe está criada, é necessário que façamos as adequações necessárias para que possamos reaproveitá-la (herança).

  1. No Gerenciador de Projetos, clique sobre a aba Classes.
  2. Caso a classe ainda não apareça na lista de classes, use o botão Add… para adicioná- la.

Figura 47 – Adicionando biblioteca de classes.

  1. Escolha a biblioteca formulários.vcx e clique em OK.
  2. A nova classe aparece na janela do gerenciador de projetos:

Figura 48 – Classe FormularioPadrao no Gerenciador de Projetos).

5.   Clique sobre a classe FormularioPadrao e clique em Modify.

Figura 49 – Class Designer editando a classe FormularioPadrao.

  1. Como você pode notar na figura 49 o formulário de usuários está ali completinho, aparentemente. O que muda é que este formulário perdeu o ambiente de dados. Simplesmente desaparece o vínculo quando transformamos um formulário em classe. Isso faz sentido já que cada formulário instanciado a partir dessa classe terá um ambiente de dados diferente. Agora precisamos redefinir algumas propriedades como:
  2. Remova o título do formulário;
  3. Limpe o conteúdo da propriedade PosicionarPrimeiroCampo;
  4. Remova os campos e todos os demais objetos label do cadastro de usuários;
  5. Aumente um pouco o tamanho do formulário;
  6. Reposicione os botões de controle;
  7. Remova o código do método CriticarDados(), mantendo o método vazio;
  8. Salve a classe e feche o Class Designer.

Agora nossa classe já está pronta para ser reaproveitada.

Definindo uma classe modelo para criação de formulários

A forma mais rápida e mais fácil de criarmos um formulário interativamente baseado em uma classe visual é definindo qual a classe da qual o formulário irá se originar. Podemos fazer isso acessando a opção Options do menu Tools.

Ao acessar a opção Options do menu Tools, clique na aba Forms. O resultado será algo como o apresentado na figura 50.

Figura 50 – Diálogo Options, definindo opções de formulários

Observe no destaque da figura. Esse grupo, Template Classes serve para definirmos qual será a classe que servirá de modelo para nossos formulários. Marque o CheckBox Form. Aparecerá um novo diálogo permitindo-nos escolher qual será a biblioteca  e  a  classe utilizada:

Figura 51 – Escolhendo a classe que servirá de modelo para os novos formulários

Escolha a biblioteca formularios.vcx e do lado direito do diálogo Form Template escolha a classe formulariopadrao. Clique OK.

Você estará novamente no diálogo Options, e sua aparência deve ser a seguinte:

Figura  52 – Diálogo Options após a definição da classe de formulário.

Note agora que o TextBox Form foi preenchido com o nome da classe seguido pelo caminho e nome da biblioteca de formulários.

Clique no botão Set As Default. Agora já podemos criar nossos formulários baseados nesta classe. Clique em OK.

Continua em Desenvolvendo em VFP – Parte 13

Print Friendly, PDF & Email

Sobre o Autor