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

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

andersoncamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 103
Registrado em: 22 Ago 2004 11:54

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

Mensagem 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.
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem 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.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
andersoncamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 103
Registrado em: 22 Ago 2004 11:54

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

Mensagem por andersoncamilo »

Stanis, funcionou certinho muito obrigado pela ajuda.

Precisando estamos a disposição.


Um grande abraço


Anderson Camilo
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Mensagem 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,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
andersoncamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 103
Registrado em: 22 Ago 2004 11:54

Mensagem por andersoncamilo »

Toledo, muito obrigado pelo exemplo, foi de muita ajuda.


Um abraço

Anderson Camilo
Responder