Página 1 de 1

Labels, e Grids em Tempo de Execução.

Enviado: 20 Abr 2007 17:40
por andersoncamilo
Boa tarde, gostaria de saber se tem alguma forma e se é possivel criar labels e Grids em tempo de execução.

Ex: Tenho uma tabela com as descrição e posições na tela, para se criar cadastros genericos.

CLientes, Produtos, Fornecedores etc.

Obrigado

Anderson Camilo.

Enviado: 21 Abr 2007 04:34
por Stanis Luksys
Basta escrever em qualquer parte do seu código:

@ y, x button nome_do_botao of nome_da_janela caption "valor"

Só isso.

Assunto: Labels, e Grids em Tempo de Execução.

Enviado: 21 Abr 2007 09:53
por andersoncamilo
Stanis, funcionou certinho muito obrigado pela ajuda.

Precisando estamos a disposição.


Um grande abraço


Anderson Camilo

Enviado: 21 Abr 2007 12:09
por Toledo
Anderson, ai vai um outro exemplo:

Código: Selecionar todos

#include "minigui.ch"

Function main()

nLarg_window:=572
nAlt_window:=377

// {Nome,Coluna,Linha,tamanho}
Priv aLabels:={{"Código",30,20,54},;
               {"Nome do Cliente",90,20,135},;
               {"Endereço",30,80,72},;
               {"Nascimento",410,80,90}}

// {Nome,Coluna,Linha,Largura,Altura,mascara,tamanho maximo,tipo}
Priv aCampos:={{"oCodigo",30,40,36,24,"9999",4,"C"},;
               {"oNome",90,40,360,24,"",40,"C"},;
               {"oEndereco",30,100,360,24,"",40,"C"},;
               {"oNascimento",410,100,120,24,"",0,"D"}}

Priv aFrame:={{"",10,10,540,280}}

Priv aCab_grid:={"Ordem","Nome do dependente","Parentesco"}

Priv aTam_grid:={70,270,135}

Priv aItems:={{"001","Edna Toledo","Esposa"},;
              {"002","Natália Toledo","Filha"},;
              {"003","Mariana Toledo","Filha"}}

// {Coluna, linha, largura, altura}
Priv aGrid:={{30,140,500,140}}

DEFINE WINDOW Main1 ;
       AT 0,0 ;
       WIDTH nLarg_window ;
       HEIGHT nAlt_window ;
       TITLE "Cadastro de Clientes" MAIN

     @ aFrame[1,2],aFrame[1,3] FRAME Frame1 ;
       CAPTION IF(EMPT(aFrame[1,1]),Nil,aFrame[1,1]) ;
       WIDTH aFrame[1,4] ;
       HEIGHT aFrame[1,5]

     FOR i=1 TO LEN(aLabels)
       cLbl:="Label_"+strzero(i,3)
       @ aLabels[i,3],aLabels[i,2] LABEL &cLbl ;
         VALUE aLabels[i,1] ;
         WIDTH aLabels[i,4] ;
         HEIGHT 15 ;
         FONT "Arial" size 9
     NEXT

     FOR i=1 TO LEN(aCampos)
       cCampo:=aCampos[i,1]
       if aCampos[i,8]="C"
         @ aCampos[i,3], aCampos[i,2] TEXTBOX &cCampo ;
           WIDTH aCampos[i,4] ;
           HEIGHT aCampos[i,5] ;
           UPPERCASE ;
           MAXLENGTH aCampos[i,7] ;
           ON ENTER InsertTab() ;
           FONT "Arial" size 9
       elseif aCampos[i,8]="D"
         @ aCampos[i,3], aCampos[i,2] DATEPICKER &cCampo ;
           WIDTH aCampos[i,4] ;
           HEIGHT aCampos[i,5] ;
           VALUE DATE() ;
           FONT "Arial" size 9
       endif
     NEXT

     @ aGrid[1,2], aGrid[1,1] GRID Grid_1 ;
       WIDTH aGrid[1,3] ;
       HEIGHT aGrid[1,4] ;
       HEADERS aCab_grid ;
       WIDTHS aTam_grid ;
       ITEMS aItems

     @ 300, 430 BUTTON Botao_1 ;
       CAPTION "OK" ;
       ACTION Main1.release ;
       FONT "Arial" SIZE 9 FLAT

END WINDOW

CENTER WINDOW Main1
ACTIVATE WINDOW Main1
Return
Abraços,

Enviado: 23 Abr 2007 16:57
por andersoncamilo
Toledo, muito obrigado pelo exemplo, foi de muita ajuda.


Um abraço

Anderson Camilo