Ola!
Exemplo com TAB e DESLIGANDO os controles:
#include "hwgui.ch"
Function Main
Local oDlg, oSay, oBtn1, oBtn2, oOwBtn
Local oBtn3, oPreco, nPreco:=123456789.1234, oBtn4
INIT DIALOG oDlg TITLE "EVENTOS NO DIALOG" AT 0,0 SIZE 800,600 ;
On INIT {||hwg_msginfo("Bloco do Inicio")} ;
On EXIT {||oDlg:Hide(),hwg_msginfo("Bloco do EXIT")}
@ 010,010 TAB oTab ITEMS {} SIZE 750,450 OF oDlg
BEGIN PAGE "TAB 1" OF oTAB
@ 300,040 SAY oSay CAPTION "Click no X para fechar" size 300,30
@ 300,100 button oBtn1 Caption "SAIR Close" size 200,50 ON CLICK {||oDlg:Close()}
@ 300,200 button oBtn2 Caption "SAIR EndDialog" size 200,50 ON CLICK {||hwg_EndDialog()}
@ 300,300 OWNERBUTTON oOwBtn SIZE 200,50 TEXT "OwnerButton SAIR"
END PAGE OF oTAB
BEGIN PAGE "TAB 2" OF oTAB
@ 300,100 button oBtn3 Caption "Ligar BUTTON e GET" size 200,50 ON CLICK {||oPreco:Enable(),oBtn4:Enable()}
@ 300,200 GET oPreco VAR nPreco PICTURE "@e 999,999,999.9999" size 150,30
@ 300,300 BUTTON oBtn4 CAPTION "Desligar BOTAO e GET" size 200,50 ON CLICK {||oPreco:Disable(),oBtn4:Disable()}
END PAGE OF oTAB
oDlg : bActivate:={||oDlg:Show(), oOwBtn:Disable(), hwg_msginfo("Bloco do Activate")}
ACTIVATE DIALOG oDlg CENTER
Return Nil
É só compilar e testar.
Saudações,
Itamar M. Lins Jr.