Você está na página 1de 63

Aprendendo a programar No AppBuilder

Mdulo I (Bsico)

Contedo
Contedo............................................................................................2

2
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Capitulo 1: A PROGRESS SOFTWARE

3
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

APRESENTAO

esde 1981 Progress Software Corporation gera produtos de software e servios que fortalecem os seus parceiros e clientes para melhorar drasticamente a sua elaborao, implantao, integrao e aplicaes de gesto de qualidade em todo o mundo. Para maiores informaes, segue o site da Progress e o link para a Progress Brasil. WWW.progress.com WWW.progress.com/br

4
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

PROPOSTA

ste documento est descrito sobre a utilizao do AppBuilder. Ferramenta disponibilizada pela Progress para criao de programas totalmente Windows. Nesse manual est descrito os principais comandos utilizados em interface Windows, bem como conceitos de utilizao de eventos.

5
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

CONVENES DA APOSTILA

o decorrer da apostila, voc vai se identificar com algumas convenes que a PROGRESS utiliza para identificar as SINTAX de seus comandos, funes, atributos, parmetros, etc. Conforme exemplo abaixo: Exemplo: TRIGGERS: { ON event-list [ ANYWHERE ] { trigger-block | PERSISTENT RUN procedure [ IN handle ] [ ( input-parameters ) ] } } ... END [ TRIGGERS ] Segue explicao destas convenes para o melhor entendimento desta apostila, bem como o entendimento das leituras de manuais produzidos pela PROGRESS, para facilitar o entendimento utilizaremos as mesmas caractersticas do material original, que encontra-se disponvel no site da PROGRESS escritos na lngua inglesa. Quando no existir smbolo nenhum, ento o comando, parmetro obrigatrio. [] Colchetes, significa que o que estiver dentro, opcional.

| Pipe, significa que voc utiliza o comando anterior ao smbolo pipe OU utiliza o comando que est depois do smbolo pipe.

6
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Capitulo 2: CONCEITOS E TERMINOLOGIAS

7
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

SOBRE A FERRAMENTA

AppBuilder um utilitrio desenvolvido em Progress 4GL para edio rpida e grfica de programas baseados no Windows. Ele foi introduzido a partir da verso 7 para Windows trazendo consigo diversas inovaes e conceitos quanto utilizao de comandos voltados a eventos. Conceitos utilizados A ferramenta trs consigo alguns conceitos como: Drag-and-drop Permite pegar, arrastar e soltar objetos no layout de interface construda; Initialization Permite inicializar objetos com parmetros prdefinidos; Templates Criao de templates de interfaces pr-definidas; Single or Multiple Window Permite criar interfaces modais ou no modais; Activex Utilizao de controles activex conhecidos;

8
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

OBJETOS BSICOS UTILIZADOS

Os
So eles:

Objetos bsicos utilizados na ferramenta, permitem criao de diversos tipos de layouts, sempre utilizando os conceitos de orientao a eventos.

Grupo
Organizer

Objeto
Window

Descrio
Container na qual so criados os layouts das interfaces. Geralmente containers no modais. Container modal, na qual so criados os layouts das interfaces. rea que delimita um grupo de objetos, na qual pode ser definida seqncia de entrada nos objetos (tab-control). Como o nome j diz um retngulo para embelezamento da interface. Grupo de comandos para resgatar dados de um ou mais banco de dados Objeto utilizado para criar uma grid de dados nas interfaces

Dialog-box Frame

Retangle Data Access Query

Data Display Data and Capture Browser

Combo box Lista de dados com apresentao de um nico dado e boto para abrir a lista de dados Editor Fill-in (Edit Box) Radiobutton set SelectionEditor de textos para descritivos de tamanho grande. Editor campo a campo. Utilizado para criar campos unitrios nas interfaces. Grupo de dados que representa uma nica seleo de valores, tendo diversas opes de escolha. Lista de dados semelhante ao combo9
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

List Slider control Toggle box Action Control Other Button Text Object Image Object PStimer

box, porem j com os dados de forma aberta. Marcador de valores inical e final. Mesma coisa que barra de volume. Objeto utilizado para opo lgica tipo marcado no marcado. Objeto utilizado para criar aes de eventos nas interfaces. Boto. Para inserir label nas interfaces Para inserir imagens nas interfaces OCX que permite colocar um timer nas interfaces.

10
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Capitulo 3: APPBUILDER E SUA INTERFACE

11
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

UTILIZANDO O APPBUILDER
OAppBuilder composto pelas seguintes partes:

Main Windows Janela Principal; Object tool palette Barra de objeto; Source code select editor Editor do cdigo 4gl; Dialog Box Vrias janelas de edio.

Esse captulo descreve cada parte do AppBuilder. AppBuilder Main Window Ao acessar o AppBuilder a janela da figura 1 apresentada: Menu Bar Tool Bar Objeto Corrente Status Bar Objeto Corrente Essa parte da janela do AppBuilder apresenta o objeto selecionado. Muito utilizada para verificar qual objeto se est trabalhando no momento. Nele possvel trocar a propriedade nome do objeto e titulo ou descrio. Status Bar

12
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Linha que representa o estado do AppBuilder. Nela possvel ver se algum programa est sendo executado. Menu Bar Como o nome j diz o menu de acesso as diversas funcionalidades do AppBuilder.

File
New Open Close Close Windows Save Save As Save All Print Cria um novo programa Abre programas j existentes Fecha o arquivo corrente. Fecha todas as janelas abertas. Salva o programa corrente. Salva possibilitando nome do arquivo trocar o

Salva todos os arquivos abertos Imprime o arquivo aberto.

(Lista dos ltimos programas abertos) Exit Sai do AppBuilder

Edit
Undo Cut Copy Desfaz a operao recente. Move o que foi selecionado para o clipboard. Copia o que foi selecionado para o clipboard.

13
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Paste Duplicate Delete Copy to File Insert from File Tab Order Goto Page

Copia do clipboard para o local do cursor. Duplica a seleo. Remove o que est selecionado. Exporta para um arquivo. Importa de um arquivo. Seta a ordem dos objetos no frame corrente. Seleciona uma pagina.

Compile
Run Check Syntax Debug Code Preview Close Character Run Window Compila e roda a aplicao. Verifica se sintaxe dos comandos esto corretas. Inicia o modo de debbuger Mostra todo o programa gerado. Fecha a caractere. janela cdigo do do

modo

Tools
New Procedure Window New ADM Class Abre uma editor nova instancia do

Abre uma nova classe utilizando o Adm2

14
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Property Sheet Procedure Settings Color Database Connections

Acessa as propriedades do objeto selecionado. Abra o dialog-box propriedades da procedure. Seta a cor. Conecta e desconecta o banco de dados. das

(Lista dos programas instalados em seu sistema)

Options
Preferences Editing Options Abre as AppBuilder preferncias gerais do do

Edita opes AppBuilder

Snap to Grid Liga desliga a ligao do objeto com a grid Display Grid Liga e desliga a visibilidade da grid

Organiza os objetos dentro da janela que esta sendo construda.

Window
Code Section Editor Hide Object Palette Properties Window Abre o editor do AppBuilder Determina qual objeto visvel ou no Abre as propriedades da janela 15
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

que esta sendo construda. OCX Property Editor (Lista os objetos abertos) Abre as propriedades da OCX.

Help
Help Topics Messages Recent Messages Cue Cards About AppBuilder
Novo Abrir Imprimir

Abre o help do AppBuilder. Mostra a mensagem atravs de seu cdigo correspondente. Mostra as mensagens recentes apresentadas.

Verso do AppBuilder.
Executa r Prop.Objet os Cores

ToolBar A toolbar um acesso rpido as ferramentas mais utilizadas no AppBuilder


Salvar Propriedades Editar Cdigo Lista objetos Modo seleo

16
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Object Tool Palette A paleta de objeto possui os objetos que podem ser utilizados no contexto de criao das janelas. Esses objetos possuem propriedades na qual sero apresentadas em sesso especifica desse manual.

A paleta contem os objetos, na qual podem ser arrastados a janela que est sendo construda. importante ressaltar que so objetos soltos, isto , no existe interligao entre eles. Essa interligao deve ser feita codificando-se a aplicao

17
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Capitulo 4: TRABALHANDO COM JANELAS (Container)

18
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

INICIANDO UMA JANELA WINDOW

Janela window o container dos objetos que sero utilizados na aplicao. Ela possui, na sua inicializao, um frame que servir de deposito dos objetos.

Essa janela pode ser de dois tipos, a saber: Modal, a janela que tranca a aplicao, isto , enquanto no sairmos dela nada pode ser feito fora dela. No modal, a janela que deixa a aplicao livre, isto , enquanto ela est aberta podem-se executar outros comandos na aplicao. Exemplo de janela Modal Observe que geralmente as janelas modais no possuem os botes de minimizar e maximizar

19
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Exemplo de janela No modal

Observe que nessa janela os botes de maximizar e minimizar so colocados por padro.

Para criarmos uma janela e ou programa novo, no AppBuilder basta selecionar o cone itens: (novo) da toolbar e seleciona um dos seguintes

Window Janela no modal

Dialog modal

Janela

20
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Capitulo 5: OBJETOS DE ACESSO A BASE DE DADOS

21
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

OBJETOS BSICOS DE ACESSO

s objetos bsicos de acesso a base de dados permitem interligar os campos de uma determinada tabela a nossa interface. Essa ligao permite fazer a edio direta dos campos ou consultas a base de dados. Data Browse O Data Browse permite montar uma grid de dados baseado em uma ou mais tabelas do banco de dados. Geralmente utilizado para consultas. Nesse objeto pode se definir os campos a serem mostrados, bem como definir colunas extras de totais por exemplo. Para manusear esse objeto utilizado a paleta de objetos (objetc Tool Palette). Atravs do cone cria-se uma instancia do data browse em uma determinada janela (container). Ao selecionar dimensionar o Browser na janela as propriedades do Browser so abertas:

Seleciona-se a tabela do banco que se quer trabalhar e em seguida os campos que devem aparecer no Browser

possvel montar joins na clausula where. Dessa forma todos os campos das tabelas selecionadas estaro disponveis para colocar no Browser. importante ressaltar que a modelagem dos dados e a

22
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

normalizao do banco de dados devem estar muito bem feitas para evitar problemas de performance.

23
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Aps selecionar a tabela a tela dos campos apresentada:

Os campos so selecionados e nessa mesma tela possvel alterar algumas propriedades dos campos como column label, formato, fonte e tamanho.

Uma opo de campos calculados tambm disponibilizada.

Uma vez selecionados os campos o Browser apresentado.

24
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Dicas importantes: Para navegar nas linhas do Browse, criando-se, por exemplo, botes de e fazendo que os mesmos faam a navegao do Browse, posicionando a linha do mesmo nos registros selecionados, os comandos a seguir deve ser utilizados: Para o boto .

Find first nome_tabela no-lock no-error If available nome_tabela Then do: Reposition nome_browse to rowid rowid(nome_tabela). Nome_browse:refresh(). end.

Para acessar a coluna que se clicou, para fazer um tipo de ordenao, o comando abaixo deve ser utilizado:
If Nome_browse:column:label = NomeColuna.

DB Fields o controle que disponibiliza campos de determinada tabela na janela (container). Para acessar esse objeto, basta na paleta de objetos clicar no cone e arrast-lo para a janela (container). Primeiramente a tabela deve ser selecionada e aps a janela abaixo apresntada

Selecione os campos que voc deseja na janela que est sendo programada.

25
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Browser FreeForm O Browser freeform o objeto que permite que voc faa todo o acesso base de dados de forma livre, isto , voc que faz toda a programao direta no editor, acessando as trigger do Browser. Para que isso seja possvel, ao selecionar o objeto Browser, click no boto . Dessa forma um Browser em branco ser apresentado conforme figura abaixo.

Para escrever o cdigo do browser Browser sem o utiliza-se campos, selection editor, acessando totalmente configurado as trigger pelo programador correspondentes conforme figura abaixo.

Para cada uma das trigger apresentadas possvel escrever o cdigo progress 4gl. Para a trigger de display -> os campos que aparecero no Browser

26
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Para a trigger de open_query -> o for ech da tabela em questo. Para a trigger value-changed -> quando o browser for movimentado.

27
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Capitulo 6: OBJETOS DE APRESENTAO (DISPLAY)

28
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

OBJETOS BSICOS APRESENTAO

s objetos bsicos de apresentao so os componentes utilizados para a montagem das telas. A facilidade e flexibilidade de utilizao nos permitem criar telas extremamente ricas e de bastante usabilidade. Combo-box uma lista de itens em uma nica linha com seleo. Para acessar o combo-box o cone (container), na qual apresentada. a deve ser arrastado para o Windows janela de propriedades abaixo ser

Importante ressaltar as seguintes propriedades: List-Items - > lista de itens que sero apresentados na tela para seleo, contudo esse item ser o contedo da varivel quando utilizada. List-Item-Pairs -> lista de itens que sero apresentados na tela para seleo, contudo a formatao desse combo permite 29
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

mostrar itens na tela, numer-los, fazendo com que o retorno da varivel seja o numero correspondente ao item da lista.

30
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

A figura abaixo demonstra um exemplo das propriedades com o ListItem-Pairs:

Os itens mostrados na combo so os antes da vrgula. O numero que aparece aps a vrgula o contedo da varivel.

Fill-ins os campos da tela para entrada de dados. Para acessar o Fill-in o cone deve ser arrastado para o Windows (container), na qual a janela de propriedades abaixo ser apresentada.

Propriedades mais importantes do fill-in so: Enable Habilita ou no o campo Native Monta caixa 3D no campo.

31
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Editor um campo em forma de texto utilizado para digitar comentrios, observaes, entre outros. Para acessar o Editor o cone deve ser arrastado para o Windows (container), na qual a janela de propriedades abaixo ser apresentada.

A propriedade mais importante do editor Maximum caracters, na qual o numero de caracteres que podem ser digitados no campo. Outra propriedade interessante o ReturnInserted, na qual permite grava o enter a cada pulo de linha.

Radio-Buttons uma varivel do tipo seleo nica representada por crculos que possuem seleo. Para acessar o Editor o cone deve ser arrastado para o Windows (container), na qual a janela de propriedades abaixo ser apresentada.

A propriedade mais importantes do radio-buttons so a horizontal, na qual permite colocar os descritivos um do lado do outro e no na vertical.

32
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Seu funcionamento semelhante ao combo-box com a opo ListItems-pairs, na qual retorna o numero digitado aps a vrgula na lista de itens. Toggle-box uma varivel do tipo lgica (checked unchecked). Para acessar o toggle-box o cone deve ser arrastado para o Windows (container), na qual a janela de propriedades abaixo ser apresentada.

Observaes importantes para os objetos acima descritos: Para todo tipo de varivel de tela utilizada no AppBuilder, deve ser utilizado o comando assign para obter o contedo armazenado na mesma, isto , transferir do buffer de tela para o buffer de memria. o Como exemplo num combo-box na trigger de valuechanged, antes de utilizar a varivel necessrio o assign. assign combobox-1. If combobox-1 = 1 Then ... Else ... Para ter acesso ao contedo da varivel de tela sem o assign, o mtodo screen-value da varivel deve ser acessado. Message Combobox-1:Screen-value view-as alertbox. Para combo-box os mtodos abaixo podem ser utilizados para acrescentar ou tirar itens da lista. Combobox-1:List-items = limpa a lista Combobox-1:insert(Valor,2,1) insere texto valor, com retorno 2 na posio 1 da lista.

33
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

O retorno 2 sempre seve ser entre aspas, mesmo se o combo-box for do tipo inteiro. Combobox-1:add-last(Valor,3) Note que nesse caso o parmetro de retorno 3 no deve ser entre aspas. Para os toogle-box o mtodo checked est disponvel para verificar se a varivel esta selecionada ou no: If Toglebox:checked then ... Assign toglebox:cheked = true. Vrios outros mtodos esto disponveis para todos os objetos disponveis no AppBuilder. Maiores informaes documentao Progress (help). Static Image um objeto que serve para acrescentar imagens nas telas. Para acessar a static image o cone deve ser arrastado para o Windows (container), na qual a janela de propriedades abaixo ser apresentada.

34
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Static Text um objeto que serve para acrescentar textos livres nas telas. Para acessar a static image o cone deve ser arrastado para o Windows (container), na qual a janela de propriedades abaixo ser apresentada.

Dicas sobre interfaces: 1 Faa uma interface clean, mas no deixe de utilizar os recursos como Retangulos para formar conjunto de campos do mesmo contexto; 2 Faa com que seu usurio final tenha as informaes necessrias na tela e que a mesma seja bastante intuitiva; 3 Lembre-se sempre de utilizar tooltips para demonstrar o que so os campos; 4 Lembre-se que voc est no mundo de eventos agora, portanto quanto mais livre forem as telas, mais controles teremos que ter, pois o usurio pode clicar em qualquer ponto. 5 Use o mtodo load-mouse-pointer para carregar ponteiros de mouse nos campos desejados. Fillin-1:load-mouse-pointer(campinho\mouse.cur). Importante: Os arquivos de ponteiros tem que ser .cur. 6 Prefira menus TreeViews do que menus drop-down; 7 Utiliza sempre o recurso de criar internal procedures ou function na 4gl, contudo nunca faa uma procedure ou function com um numero elevado de linha de cdigo, pense pequeno para chegar ao grande, faa em partes, dessa forma a reutilizao de cdigo fica mais fcil.

35
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Capitulo 7: OBJETOS DE CONTROLE

36
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

CONTROLES PRINCIPAIS

Appbuilder possui vrios controles. Estaremos vendo aqui os principais que so os menus e botes.

Botes de Controle Os botes, sem sombra de dvida, so os principais controles em uma tela. Por isso importante pensar na sua melhor utilizao. E imprescindvel que um prottipo de tela seja idealizado ates da construo, dessa forma conceitos de usabilidade e movimentao do mouse so estudados antes de inserir qualquer controle na tela. um objeto que serve para criar controle de ao na tela. Para acessar os controles de boto cone deve ser arrastado para o Windows (container), na qual a janela de propriedades abaixo ser apresentada.

Diversas propriedades so apresentadas, sendo as mais importantes: Images: UP quando o boto estiver solto Images: Down quando o boto estiver pressionado Images: Insensitive quando o boto estiver desabilitado. Default Button: Indica se o boto o default dessa tela. 37
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

importante ressaltar que o AppBuilder no possui um conjunto de palette de botes pronto como objeto, (a no ser no smartwindows), dessa forma para termos botes de controle do tipo paginar, incluir alterar, etc... preciso construir esse controle e faz-lo funcionar no contexto da janela. Para isso a trigger de choose deve ser utilizada para colocarmos os controles de navegao (progress 4 gl puro). Menus de acesso Os menus de acesso so uma propriedade das janelas, portanto num sistema comum a tela principal ter o menu de acesso. possvel em telas secundarias criar menus, mas lembre-se de manter o contexto sobre o que se est criando. uma propriedade da janela que cria o menu. Para acessar os controles de menu as propriedades da janela devem ser acessadas e a janela abaixo ser apresentada.

Boto acesso criao menu janela

de a do da

Acessando o boto de menu da janela as propriedades do menu sero apresentadas. Nela podemos ento criar nosso menu com itens e subitens, para posterior acesso as funes do sistema que estamos construindo.

38
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

A janela abaixo representa essas propriedades:

As propriedades dessa janela permitem criar menus com nveis e subnveis. Para tal no campo Label se insere o nome da opo de menu desejada. Os botes movimentam os itens para cima ou para baixo e criam nveis ou subniveis respectivamente. Os Botes acrescentam as teclas de acesso

rpido ou limpam o acesso respectivamente. Os botes criam um alinha divisria ou um espao entre os menus respectivamente. O controle coloca um toggle no item de menu e quando o mesmo selecionado a toggle fica ativada. E para finalizar possvel criar popups menus em qualquer objeto que em suas propriedades apresentarem o cone , sendo seu funcionamento idntico ao funcionamento do menu clssico.

39
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Capitulo 8: EVENTOS DOS OBJETOS

40
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

EVENTOS

Progress 4GL uma linguagem orientada a objetos e eventos. Apesar de uma orientao a objetos no completa como em Delphi, C++ e/ou Java, mas a princpio baseada, como exemplo, tambm, Visual Basic.

Lista de Eventos ANY-KEY


Evento genrico ou de abrangncia total, atingido por qualquer tecla, combinao de teclas ou evento do mouse.
Aplica-se para: BROWSE RADIO-SET BUTTON SELECTION-LIST COMBO-BOX SLIDER EDITOR TOGGLE-BOX FILL-IN
Exemplo:

define variable nome as character. on "any-key":u anywhere do: hide message. message string(time, "hh:mm:ss"). end. update nome.

ANY-PRINTABLE
Ocorre quando solicitada uma impresso de um objeto e no h nenhum trigger definido para o evento especfico do objeto.
Aplica-se para: BROWSE RADIO-SET BUTTON SELECTION-LIST COMBO-BOX SLIDER EDITOR TOGGLE-BOX FILL-IN

41
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

BACKS PACE
Quando pressionada um tecla de backspace no objeto.
Aplica-se para: FILL-IN

BACK-TAB
Ocorre quando solicitado um retrocesso e/ou passagem para o objeto anterior, em Windows como padro Shift + Tab.
Aplica-se para: BROWSE RADIO-SET BUTTON SELECTION-LIST COMBO-BOX SLIDER EDITOR TOGGLE-BOX FILL-IN

BELL
Ocorre quando pressionada uma tecla mapeada para a funo BELL no objeto.
Aplica-se para: BROWSE IMAGE BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP TEXT FILL-IN TOGGLE-BOX FRAME WINDOW

CHOOS E
Aplica-se a botes e menus quando escolhido.
Aplica-se para: BUTTON MENU-ITEM (no toggle-box)
Exemplo:

define button b-ok label '&OK' auto-go. form b-ok with frame f-escolha. on "choose":u of b-ok in frame f-escolha do: message 'Botao Ok pressionado' view-as alert-box. end. update b-ok with frame f-escolha.

42
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

CLEAR
Aplica-se a uma caixa de texo, FILL-IN, quando pressionada uma tecla, ou combinao de teclas para apagar o contedo, em Windows o padro Control Z.
Aplica-se para: FILL-IN

DEFAULT-ACTION
Aplica-se a browses e listas de seleo quando ocorre duplo clique ou ENTER no objeto.
Aplica-se para: BROWSE SELECTION-LIST

DELETE-CHARACTER
Ocorre quando pressionado Delete no objeto.
Aplica-se para: FILL-IN

DES ELECTION
Quando valores so desmarcados em um browse ou lista de seleo mltipla.
Aplica-se para: BROWSE RADIO-SET BUTTON RECTANGLE COMBO-BOX SELECTION-LIST EDITOR SLIDER FILL-IN TEXT FRAME TOGGLE-BOX IMAGE

EMPTY-S ELECTION
Quando um objeto de contedo vazio clicado
Aplica-se para: FRAME DIALOG-BOX

END-BOX-S ELECTION
Ocorre quando o boto do mouse liberado aps a seleo de uma rea.
Aplica-se para: FRAME DIALOG-BOX

43
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

END-ERROR
Aplica-se a objetos ou bloco de interao quando ocorrido algum tipo de erro ou solicitada a finalizao, geralmente ESC ou F4. Quando isto acontece a um bloco de interao, os valores das variveis sem a declarao NO-UNDO e/ou valores atribudos em banco de dados so desfeitos, caso estes valores ainda no estejam confirmados na tabela.

END-ERROR EVENT
Ocorre quando o usurio pressiona uma tecla que equivale funo END-ERROR.
Aplica-se para: BROWSE IMAGE BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP TEXT FILL-IN TOGGLE-BOX FRAME WINDOW

END-MOVE
Ocorre ao finalizar uma ao de arrastar e soltar um objeto.
Aplica-se para: BROWSE RADIO-SET BUTTON RECTANGLE COMBO-BOX SELECTION-LIST EDITOR SLIDER FILL-IN TEXT FRAME TOGGLE-BOX IMAGE

END-RES IZE
Ocorre ao finalizar um redimensionamento da janela.
Aplica-se para: BROWSE RADIO-SET BUTTON RECTANGLE COMBO-BOX SELECTION-LIST EDITOR SLIDER FILL-IN TEXT FRAME TOGGLE-BOX IMAGE

44
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

ENDKEY
Quando pressionada uma tecla de finalizao de tarefa, por padro F4 e/ou ESC.
Aplica-se para: BROWSE IMAGE BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP TEXT FILL-IN TOGGLE-BOX FRAME WINDOW

ENTRY
Quando o objeto recebe foco.
Aplica-se para: BROWSE FRAME BUTTON RADIO-SET COMBO-BOX SELECTION-LIST DIALOG-BOX SLIDER EDITOR TOGGLE-BOX FILL-IN WINDOW

ERROR
Evocado quando qualquer erro no especificado causado, tanto para objeto, como para blocos em transao.
Aplica-se para: BROWSE IMAGE BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP TEXT FILL-IN TOGGLE-BOX FRAME WINDOW
Exemplo:

for each _user on error undo, retry transaction: update _user. end.

45
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

GO
Este evento uma confirmao simultnea de um ou vrios objetos em estado de insero, funcionando como ENTER contnuo. O exemplo abaixo demonstra uma combinao de vrios eventos reunidos para um mesmo propsito.
Aplica-se para: BROWSE IMAGE BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP TEXT FILL-IN TOGGLE-BOX FRAME WINDOW
Exemplo:

form customer.cust-num customer.name with frame f-customer side-labels row 3 centered title "Alteracao". on "return":u, "go":u, "tab":u, "entry":u, "leave":u of customer.cust-num do: find customer where customer.cust-num = input frame f-customer customer.cust-num no-lock no-error. if available customer then display customer.name with frame f-customer. else clear frame f-customer no-pause. end. repeat on error undo, retry transaction: prompt-for customer.cust-num with frame f-customer. update customer.name with frame f-customer. end.

HELP
Quando solicitada a tecla configurada para Help, como padro a tecla em Windows F1, mas caso o Progress esteja configurado para V6 a tecla padro ser F2, tanto em Windows como em UNIX, DOS, Novell, etc.
Aplica-se para: BROWSE IMAGE BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP TEXT FILL-IN TOGGLE-BOX FRAME WINDOW

46
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

ITERATION-CHANGED
Ocorre quando qualquer interao/ao com o mouse feita em um browse.
Aplica-se para: BROWSE

LEAVE
Ocorre quando o objeto perde o foco.
Aplica-se para: BROWSE FRAME BUTTON RADIO-SET COMBO-BOX SELECTION-LIST DIALOG-BOX SLIDER EDITOR TOGGLE-BOX FILL-IN WINDOW

LEFT-MOUS E-CLICK
Quando o boto esquerdo do mouse pressionado sobre o objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

LEFT-MOUS E-DBLCLICK
Quando o boto esquerdo do mouse pressionado duplamente sobre o objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW

47
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

MENU

LEFT-MOUS E-DOWN
Quando o boto esquerdo do mouse mantido pressionado sobre o objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

LEFT-MOUS E-UP
Quando o boto esquerdo do mouse liberado do objeto outrora escolhido.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MENU-DROP
iniciado quando com o mouse e feita uma ao de drag and drop, arrastar e soltar.
Aplica-se para: MENU SUB-MENU

MIDDLE-MOUS E-CLICK
Quando pressionado o boto do meio do mouse, caso este esteja habilitado pelo Windows.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET

48
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MIDDLE-MOUS E-DBLCLICK
Quando ocorre duplo-clique com o boto do meio do mouse sobre o objeto escolhido.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MIDDLE-MOUS E-DOWN
Quando pressionado o boto do meio do mouse sobre o objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MIDDLE-MOUS E-UP
Quando liberado o boto do meio do mouse sobre o objeto outrora escolhido.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE

49
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-EXTEND-CLICK
Quando clicado e liberado o boto do mouse sobre o objeto. O mesmo que MOUSE-MOVE-CLICK.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-EXTEND-DBLCLICK
Quando clicado duplamente o boto do mouse sobre o objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-EXTEND-DOWN
Quando mantido pressionado o boto do mouse sobre o objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER

50
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-EXTEND-UP
Quando liberado o boto do mouse sobre o objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-MENU-CLICK
Quando escolhido um item de menu.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-MENU-DBLCLICK
Quando escolhido com duplo clique um item de menu.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX

51
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

IMAGE WINDOW MENU

MOUSE-MENU-DOWN
Quando mantido pressionado o boto do mouse sobre o item de menu.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-MENU-UP
Quando liberado o boto do mouse sobre um item de menu.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-MOVE-CLICK
Quando escolhido um objeto com um clique do mouse. O mesmo que MOUSE-EXTENT-CLICK.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW

52
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

MENU

MOUSE-MOVE-DBLCLICK
Quando clicado duplamente sobre um objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-MOVE-DOWN
Quando mantido pressionado o boto do mouse sobre o objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-MOVE-UP
Quando liberado o boto do mouse sobre o objeto outrora escolhido.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-S ELECT-CLICK
Ocorre quando se clica e libera o boto do mouse. 53
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-S ELECT-DBLCLICK
Ocorre quando se clica duplamente o mouse sobre um objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-S ELECT-DOWN
Ocorre quando se seleciona um objeto com o boto do mouse pressionado.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

MOUSE-S ELECT-UP
Ocorre quando se seleciona um objeto com o boto do mouse e este liberado.

54
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

NEXT-FRAME
Quando pressionado uma tecla ocorrendo a passagem para outro frame.
Aplica-se para: BROWSE FILL-IN BROWSE CELL RADIO-SET BUTTON SELECTION-LIST COMBO-BOX SLIDER EDITOR TOGGLE-BOX

OFF-END
Quando solicitado o ltimo elemento de uma lista em um combo-box, exemplo: utilizando as teclas Control PageDown.
Aplica-se para: BROWSE

OFF-HOME
Quando solicitado o primeiro elemento de uma lista em um combobox, exemplo: utilizando as teclas Control PageUp.
Aplica-se para: BROWSE

55
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

PREV-FRAME
Quando solicitado uma tecla para voltar ao frame anterior.
Aplica-se para: BROWSE FILL-IN BROWSE CELL RADIO-SET BUTTON SELECTION-LIST COMBO-BOX SLIDER EDITOR TOGGLE-BOX

RECALL
Restaura o valor inicial contido em uma caixa de edio.
Aplica-se para: BROWSE FILL-IN BROWSE CELL RADIO-SET BUTTON SELECTION-LIST COMBO-BOX SLIDER EDITOR TOGGLE-BOX

RETURN
Quando pressionado ENTER em um objeto.
Aplica-se para: FILL-IN BROWSE CELL

RIGHT-MOUS E-CLICK
Quando clicado sobre o objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

RIGHT-MOUS E-DBLCLICK
Quando pressionado duplo clique sobre o objeto.
Aplica-se para: BROWSE MENU-ITEM

56
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

RIGHT-MOUS E-DOWN
Quando pressionado o boto direito do mouse sobre o objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

RIGHT-MOUS E-UP
Quando liberado o boto direito do mouse sobre o objeto.
Aplica-se para: BROWSE MENU-ITEM BUTTON RADIO-SET COMBO-BOX RECTANGLE DIALOG-BOX SELECTION-LIST EDITOR SLIDER FIELD-GROUP SUB-MENU FILL-IN TEXT FRAME TOGGLE-BOX IMAGE WINDOW MENU

SELECTION
Quando selecionado algum texto ou item em um objeto.
Aplica-se para: BROWSE RADIO-SET BUTTON RECTANGLE COMBO-BOX SELECTION-LIST EDITOR SLIDER

57
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

FILL-IN TEXT FRAME TOGGLE-BOX IMAGE

START-BOX-SELECTION
Quando iniciado evento de marcao de rea na janela.
Aplica-se para: FRAME ou DIALOG BOX com a propriedade BOXSELECTABLE igual a TRUE.

START-MOVE
Quando iniciado o evento move da janela.
Aplica-se para: BROWSE RADIO-SET BUTTON RECTANGLE COMBO-BOX SELECTION-LIST EDITOR SLIDER FILL-IN TEXT FRAME TOGGLE-BOX IMAGE

S TART-RES IZE
Quando iniciado o evento de redimensionamento da janela.
Aplica-se para: BROWSE RADIO-SET BUTTON RECTANGLE COMBO-BOX SELECTION-LIST EDITOR SLIDER FILL-IN TEXT FRAME TOGGLE-BOX IMAGE

TAB
Quando pressionado a tecla de TAB no objeto.
Aplica-se para: BROWSE FILL-IN BROWSE CELL RADIO-SET BUTTON SELECTION-LIST COMBO-BOX SLIDER CONTROL-FRAME TOGGLE-BOX EDITOR

58
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

VALUE-CHANGED
Quando modificado o valor para browses, combo-box, fill-in, radioset, selection-list, slider, toggle-box e menuitem.
Aplica-se para: BROWSE SLIDER COMBO-BOX TOGGLE-BOX RADIO-SET MENU-ITEM (toggle-box) SELECTION-LIST

WINDOW-CLOSE
Evocado quando fechada a janela via mouse ou tecla de finalizao.
Aplica-se para: DIALOG-BOX WINDOW

WINDOW-MAXIMIZED
Quando a janela maximizada.
Aplica-se para: WINDOW

WINDOW-MINIMIZED
Quando a janela minimizada.
Aplica-se para: WINDOW

WINDOW-RES IZED
Quando a janela redimensionada.
Aplica-se para: WINDOW

WINDOW-RES TORED
Quando restaurado o tamanho inicial da janela.
Aplica-se para: WINDOW

59
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Capitulo 9: OBJETOS ACTIVEX (OCX)

60
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

ACESSANDO CONTROLES OCX

ontroles OCX pode ser acessados via programao 4GL. Dessa forma uma gama considervel de componentes fica disponvel para abrilhantar ainda mais sua aplicao.

Objeto OCX da Paleta. Para acessar os objetos OCX basta utilizar a paleta de objetos e acessar o cone , na qual uma lista de objetos fica disponvel para acesso. Essa lista de objetos na verdade os objetos instalados no seu Windows. importante ressaltar que dependendo do controle ocx utilizado necessrio instal-lo na maquina em que a aplicao ser utilizada. Tela de controles OCX Conforme figura 1, os controles OCX so apresentados. Para escolher um deles basta dar um click e ok.

Figura 1 O componente mais comum utilizado a TreeView que serve principalmente para montar menus de acesso aos sistemas. A tela de propriedades do controle OCX acessado pelo duplo click no controle selecionado.

61
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Para o caso do controle TreeView a tela de propriedades abaixo apresentada.

Diversas propriedades podem ser acessadas e parametrizadas como default para inicializao do controle. Contudo possvel acessar cada propriedade atravs de linha de comando da seguinte forma: assign NomeOcx:Comando = atributo. Sua sintaxe se d atravs do acesso aos mtodos da ocx. Quando utilizarmos uma ocx treeview em conjunto necessrio utilizar uma ocx de ImageList, na qual parametriza as imagens que sero mostradas nessa treeview. Aps adicionar a treeview na janela e a ImageList na mesma. O cdigo abaixo de exemplo deve ser adicionado ao programa. procedure assign assign assign inicializa_menu: chTreeView chImageList chTreeView:ImageList = chchArvore:TreeView. = chim:ImageList. = chImageList.

Para adicionar nodos na TreeView o comando abaixo deve ser utilizado: chTreeView:Nodes:Add(par1,par2,par3,par4,par5,par6). Os parmetros (par) representam a hierarquia da TreeView, na qual os nodos devem ser inseridos. Para entender melhor a forma de utilizao dos parmetros o cdigo abaixo representa os comandos ds da raiz (root) at a sub-rotina final.

62
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

chTreeView:Nodes:Add( , "p" , root , Cadastros,1,2). chTreeView:Nodes:Add(root,4, RotinaFinanceiro, Financeiro,1,2). chTreeView:Nodes:Add(RotinaFinanceiro,4,SbBancos, Agencia,1,2). chTreeView:Nodes:Add(RotinaFinanceiro,4,SbBancos, Banco,1,2). chTreeView:Nodes:Add(RotinaFinanceiro,4,SbBancos, Cheques,1,2).

Para acesso aos nodos utilizaremos as triggers do controle ocx da TreeView da acessando a caixa de dialogo:

Observe as triggers da OCX.

Acrescentando as triggers poderemos incluir nos cdigo progress 4gl para acesso a outras rotinas do sistema. Para finalizar o item da treeview selecionado acessado com o seguinte comando.
define variable h-node define variable t-node as char no-undo. as char no-undo.

assign h-Node = chTreeView:SelectedItem:Key t-Node = chTreeView:SelectedItem:TEXT.

63
Flexxo Centro de Ensino em Tecnologia e Negcios Ltda Av. Rio Branco, 105 | Bairro So Pelegrino | Caxias do Sul | RS www.flexxo.com.br | flexxo@flexxo.com.br | Fone: 54 3028 8708

Você também pode gostar