PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → WD Bloqueio Campo EnumControl
WD Bloqueio Campo EnumControl
Iniciado por amarildo, mar., 17 2015 8:54 AM - Sem resposta
Membro registado
535 mensagems
Popularité : +14 (14 votes)
Publicado em março, 17 2015 - 8:54 AM
http://windevdesenvolvimento.blogspot.com.br/2015/03/windev-bloqueio-campo-enumcontrol.html

Nesse Video mostro como fazer bloqueio num formulario, sem saber quais os campos que tem dentro
do formulario e nem de quantas guias na tab existe

Procedure matos_f_formulario_consulta_desabilitar_campos(_nome_tab)
MyWindow..Title="Consulta"
i is int = 1 //Bloqueia os Controles
nBloqueia is int = 0
_controle is string = EnumControl(MyWindow,i)
WHILE _controle<>""
i++
nBloqueia=0
IF _controle=_nome_tab THEN nBloqueia=1 // Se Controle for Tab Nao Bloqueia
IF _controle="BTN_Cancel" THEN nBloqueia=1 // Se controle for Botao Cancela nao Bloqueia
IF nBloqueia=0 THEN {_controle}..State = Grayed // Bloquear esses controle
_controle=EnumControl(MyWindow,i)
END
i=0 // bloqueia tudo o que esta dentro do controle
_controle=""
j is int
NbPane is int = {_nome_tab}..Occurrence
TabNum is int = 0
FOR i = 1 TO NbPane
j = 1
_controle = Upper(EnumControl({_nome_tab}[i],j))
WHILE _controle <> ""
j++
nBloqueia=0
IF Left(_controle,11)="BTN_PROXIMO" THEN nBloqueia=1 // Se controle for Botao Cancela nao Bloqueia
IF Left(_controle,12)="BTN_ANTERIOR" THEN nBloqueia=1 // Se controle for Botao Cancela nao Bloqueia
IF nBloqueia=0 THEN
{_controle}..State=DisplayOnly
{_controle}..Color=LightBlue
END
_controle = Upper(EnumControl({_nome_tab}[i],j))
END
END


GLOBAL
gn_Tipo_inc_alt_exc is int // 1=inclusao //2=alteracao //3-exclusao //4-consulta


IF TableSelect(TABLE_cadastro_geral)=-1 THEN RETURN

gn_Tipo_inc_alt_exc=4 // aqui é que digo que é consulta

Open(WIN_Form_cadastro_geral)


TableDisplay(TABLE_cadastro_geral,taCurrentSelection)

Procedure WIN_Form_cadastro_geral()

FileToScreen()

MyWindow..ReturnedValue = False

IF gn_Tipo_inc_alt_exc =4 THEN matos_f_formulario_consulta_desabilitar_campos("TAB_NoName1") // aqui é que desabilito

SetFocus(EDT_Id_inscricao_cnpj_cpf)