Página 1 de 1
Mudar ACTION do BUTTONEX
Enviado: 26 Fev 2022 11:45
por chicaomogi70
Vi na documentação, que é possivel alterar o ACTION do BUTTONEX, mas não existe nenhum exemplo de como fazer isso.
Alguém sabe como fazer?
E postar um exemplo de como fazer
Aproveitando, consegui colocar nomes dinamicos no TEXTBOX,LABEL,COMBOBOX e funcionou perfeitamente, mas não consegui colocar nomes dinamicos no DEFINE WINDOW e na tela de GRID, gostaria de saber se é possivel fazer isso nessa tela de WINDOW e na tela de GRID.
Mudar ACTION do BUTTONEX
Enviado: 26 Fev 2022 21:15
por ivanil
Ola,
o Exemplo abaixo não faz o muito sentido mas demonstra o uso do que precisas de uma forma bem simplificada;
Isso que quer fazer é uma das maravilhas que uso, deixa a logica separada da tela;
Código: Selecionar todos
#include <hmg.ch>
Function Main( )
Local cForm := "NomedoForm"
DEFINE WINDOW &(cForm) AT 334, 382 WIDTH 341 HEIGHT 177 TITLE "" MAIN
DEFINE BUTTON oButton1
CAPTION "&oButton1"
COL 216
HEIGHT 26
ROW 12
TRANSPARENT TRUE
WIDTH 96
END BUTTON
&(cForm).OnInit := {||Main_OnINIT(cForm)}
END WINDOW
&(cForm).Center
&(cForm).activate()
REturn .T.
***********************************************************
//////////////////////////////////////////////////////////
***********************************************************
Static function Main_OnINIT(cForm)
Local i,nRow
&(cForm).oButton1.Action := {||MsgInfo()}
nRow := 13
For i=1 to 5
DEFINE LABEL "oLabel"+hb_ntos(i)
Parent &(cForm)
COL 13
HEIGHT 20
ROW nRow
VALUE "oLabel1"
VCENTERALIGN TRUE
WIDTH 100
END LABEL
nRow += 22
Next
Return .T.
Mudar ACTION do BUTTONEX
Enviado: 04 Mar 2022 01:04
por chicaomogi70
Esse exemplo do ACTION serviu perfeitamente, consegui fazer o que precisava.
Muito obrigado.
A parte de colocar o nome dinamico no DEFINE WINDOW não funcionou não.
Mudar ACTION do BUTTONEX
Enviado: 08 Mar 2022 07:57
por ivanil
Bom dia
Este exemplo é compilavel, foi testado aqui
Teste o exemplo.
Talvez você esteja tentando usar a macro fora do módulo ou fora da visibilidade do compilador.Isso é possivel, mas é necessário declarar o formulário.