Página 1 de 1

GET flexível

Enviado: 21 Jan 2009 14:56
por clebervn
É possível eu mudar um GET de lugar após declará-lo ???
Exemplificando......
Linha1 := 30
Linha2 := 110

@ 120,Linha1 get campo1 .......
@ 120,80 get campo2
@ 120,Linha2 get campo3


ai eu teria uma tecla de função... no meu caso o F9.....q inverte os valores....
Linha1:= 110
Linha2 := 30

ai como faço pro get agora ficar nesta nova posição ??


alguma sugestão ???

Re: GET flexível

Enviado: 22 Jan 2009 09:04
por clebervn
ou tem como destruir o GET e redeclara-lo ?

Re: GET flexível

Enviado: 22 Jan 2009 09:33
por Toledo
Clebervn, tenta o seguinte:

Código: Selecionar todos

Local e1:="GET 1", e2:="GET 2"
   @ 20,30 GET oGet1 VAR e1  ;
        STYLE WS_DLGFRAME   ;
        SIZE 260, 26

   @ 20,110 GET oGet2 VAR e2  ;
        STYLE WS_DLGFRAME   ;
        SIZE 260, 26


   @ 20,150  BUTTON "Mover Gets" SIZE 150, 32 ON CLICK {||MudaGet()}

...

function MudaGet()
oGet1:nTop:=110
oGet1:Move()
oGet2:nTop:=30
oGet2:Move()
return Nil
A propriedade nTop do Get corresponde a linha, e você pode usar nLeft para mudar a coluna.

Abraços,

Re: GET flexível

Enviado: 22 Jan 2009 10:21
por clebervn
vou tentar , obg.... só não entendi a declaração das variáveis pois elas não mudam de conteúdo mesmo... tipo e1 vai ser sempre GET1...

Re: GET flexível

Enviado: 22 Jan 2009 10:23
por clebervn
testei agora e funcionou, mudou de lugar sim... mas só falta uma coisa pra ficar perfeito..... mudar a ordem da digitação tb..... pois ele foi pra baixo mas continua pedindo o campo antes.....

tem como ??? obg

Re: GET flexível

Enviado: 22 Jan 2009 10:45
por clebervn
Simplesmente declarei um ID para cada GET e nas validações fui pondo o foco para o próximo campo dependendo ou não do botão ter sido teclado, ou seja, com uma variável lógica de controle....

se precisarem posto aqui o trecho.... tks !

Re: GET flexível

Enviado: 22 Jan 2009 11:29
por clebervn
Aproveitando o assunto... como mudo de GET gostaria de mudar o titulo do meu DIALOG, tem como ??? o meu inicial esta assim :

private vtitulo := "teste"

INIT DIALOG oDlg TITLE vTitulo ;
ICON oIcon ;
AT 40,167 SIZE nLargTela,nAltTela CLIPPER NOEXIT ;
STYLE WS_POPUP+WS_CAPTION+DS_CENTER+WS_SYSMENU ;
ON EXIT {|| CancTab() } ;
ON INIT {|| keyb_event(27),nNro_pro:=0 }

ao teclar a tecla correspondente para mudar meus gets, gostaria de puder altera o titulo tb.

Re: GET flexível

Enviado: 22 Jan 2009 16:32
por clebervn
Solução :

oDlg:TITLE:="TESTE"
setwindowtext(oDlg:Handle,oDlg:title)
oDlg:SHOW()

Re: GET flexível

Enviado: 23 Jan 2009 18:49
por esbasso
para ver como a HWGUI não é fraca vou te mostrar formas diferente de faze isso tudo acima

GET FLEXIVEL

Thisform:oEdit2:NTOP:= Thisform:oEdit3:NTOP + 50
thisform:oEdit2:MOVE()
setwindowpos(Thisform:oEdit2:HANDLE ,Thisform:oEdit3:HANDLE ,1,0,0)

AQUI VOCE troca a pósição dos GETS O GET 2 passa a GET 3, e o GET 3 passa a 2


ALTERAR O TITULODE UMA JANELA

Faça simplesmente oDlg:caption := "NOVO TITULO"