Escolar Documentos
Profissional Documentos
Cultura Documentos
CH"
#INCLUDE "PROTHEUS.CH"
DEFINE DIALOG oDlg TITLE 'Exemplo tela Wizard usando a classe FWWizardControl'
PIXEL STYLE nOR( WS_VISIBLE , WS_POPUP )
oDlg:nWidth := 800
oDlg:nHeight := 620
oPanelBkg:= tPanel():New(0,0,"",oDlg,,,,,,300,300)
oPanelBkg:Align := CONTROL_ALIGN_ALLCLIENT
//----------------------
// Pagina 1
//----------------------
oNewPag := oStepWiz:AddStep("1")
//Altera a descrição do step
oNewPag:SetStepDescription("Primeiro passo")
//Define o bloco de construção
oNewPag:SetConstruction({|Panel|cria_pg1(Panel, @cCodCli, @cNome, @cFornec)})
//Define o bloco ao clicar no botão Próximo
oNewPag:SetNextAction({||valida_pg1(@cCodCli, @cNome, @cFornec)})
//Define o bloco ao clicar no botão Cancelar
oNewPag:SetCancelAction({||Alert("Cancelou na pagina 1"), .T., oDlg:End()})
//----------------------
// Pagina 2
//----------------------
/*
oNewPag:SetPrevAction({|| .T.})
oNewPag:SetPrevTitle("Voltar")
//----------------------
// Pagina 3
//----------------------
oNewPag := oStepWiz:AddStep("3", {|Panel|cria_pn3(Panel)})
oNewPag:SetStepDescription("Terceiro passo")
oNewPag:SetNextAction({|| Aviso("Termino","Wizard Finalizado",{"Fechar"},1), .T.,
oDlg:End()})
oNewPag:SetCancelAction({||Alert("Cancelou na pagina 3"), .T., oDlg:End()})
oNewPag:SetCancelWhen({||.F.})
oStepWiz:Activate()
Return
//--------------------------
// Construção da página 1
//--------------------------
Static Function cria_pg1(oPanel, cCodCli, cNome, cFornec)
Local oTGet0
Local oTGet1
Local oTGet2
oSay1:= TSay():New(10,10,{||'Cliente'},oPanel,,,,,,.T.,,,200,20)
cNome := Space(30)
oTGet1 := tGet():New(20,010,{|u| if(PCount()>0,cCodCli:=u,cCodCli)},
oPanel ,50,9,PesqPict("SA1","A1_COD"),{ || cNome:=Posicione("SA1",1,xFilial("SA1")
+cCodCli,"A1_NOME") },,,,,,.T.,,, {|| .T. } ,,,,.F.,,"SA1","cCodCli")
oTGet0 := tGet():New(20,062,{|u|
if(PCount()>0,cNome:=u,cNome)},oPanel ,220,9,PesqPict("SA1","A1_NOME") ,
{ || },,,,,,.T.,,, {|| .T. } ,,,,.F.,,"","cNome",,,,.T.,.T.)
oSay2:= TSay():New(40,10,{||'Fornecedor'},oPanel,,,,,,.T.,,,200,20)
cFornec := Space(30)
oTGet2 := tGet():New(50,10,{|u| if(PCount()>0,cFornec:=u,cFornec)},
oPanel ,50,9,PesqPict("SA2","A2_COD"),{ || },,,,,,.T.,,,
{|| .T. } ,,,,.F.,,"SA2","cFornec")
Return
//----------------------------------------
// Validação do botão Próximo da página 1
//----------------------------------------
Static Function valida_pg1(cCodigo, cNome, cFornec)
Aviso("Atenção","Você digitou:" + CRLF + ;
"Cliente: " + cCodigo + "-" + cNome + CRLF + ;
"Fornecedor: " + cFornec,{"Continuar"},1)
Return .T.
//--------------------------
// Construção da página 2
//--------------------------
Static Function cria_pg2(oPanel, cProdDe, cProdAte, cGrupo)
Local aItems := {'0001','0002','0003'}
Local oCombo1
Local oTGet1
Local oTGet2
Local oTGet3
Local dData := CTOD("//")
//----------------------------------------
// Validação do botão Próximo da página 2
//----------------------------------------
//--------------------------
// Construção da página 3
//--------------------------
Return