BLOQUEAR OBJETOS EM MODULO

MASTER2020 18/08/2007 23:29:42
#231545
pessoa
e possivel criar uma funcao q bloq txt,cbo, sem ter q ficar colocando os nome txtisso.enable=false
e uma pra desbloquear
ate +
obrigado

USUARIO.EXCLUIDOS 19/08/2007 02:15:51
#231552
ae fera

para muda o tipo de objeto e so vc coloca o nome dele, mais tem q ser o nome exatamente igual, tipo coloca o mouse em cima do componente lah na barra e coloca o nome dele na instrução if

ai entre o if vc coloca o q vc quise, ai no caso tah colocando enabled

mais vc pode por qualquer propriedade

Dim obj As Object
For Each obj In Screen.ActiveForm.Controls
If TypeName(obj) = "TextBox" Then
obj.Enabled = False
End If
Next


falo irmão

qualquer coisa tamo ai
USUARIO.EXCLUIDOS 19/08/2007 02:46:20
#231553
aqui irmão

tava atoa aqui em ksa

ai montei um exemplo para vc

espero q intenda


USUARIO.EXCLUIDOS 19/08/2007 03:08:29
#231554
complementando vc pode usar or tbm

tipo assim

Dim obj As Object
For Each obj In Screen.ActiveForm.Controls
If TypeName(obj) = "TextBox" or TypeName(obj)="Label" Then
obj.Enabled = False
End If
Next

mais tipo a propriedade tem q ter nois dois, ai funfa normal

q nem no exemplo tah usando enabled, o enabled tem tanto no text como no label

agora se vc for usa sei lah a propriedade text

vc vai te q fazer um desse para alterar o .text

e um para alterar o .caption

ai fica a vontade

agora axo q sua duvida foi respondida

num esqueça de finaliza o topico

XD

falo irmão
USUARIO.EXCLUIDOS 27/08/2007 15:50:24
#232916
e ai irmao, sumiu, =]

deu certo?

num deu, q aconteces?


falo fera
ANTONIOBSJ 27/08/2007 17:14:53
#232960
Eu uso essa... é bem genérica:

Para bloquear a digitação (consultando)
Call preparaTela(Me, False, True, True, True, True, True)

Para Editar:
Call clsForms.preparaTela(Me, True, True, True, False, False, False)


Public Sub preparaTela(ByRef frmFormulario As Object, _
ByVal bolHablDados As Boolean, _
ByVal bolLimparTXT As Boolean, _
ByVal bolLimparCHK As Boolean, _
ByVal bolLimparCBO As Boolean, _
ByVal bolLimparLST As Boolean, _
ByVal bolLiberaOBJ As Boolean)

On Error GoTo preparaTela_Error
Dim Controle As Control

'Posiciona a tela acima e a direita do MDI
frmFormulario.Top = 0
frmFormulario.Left = 0

'Varre todos os controles
For Each Controle In frmFormulario.Controls
If Controle.Name = "cmdIncluir" Then Controle.Enabled = IIf(bolHablDados, False, True)
If Controle.Name = "cmdAlterar" Then Controle.Enabled = IIf(bolHablDados, False, True)
If Controle.Name = "cmdExcluir" Then Controle.Enabled = IIf(bolHablDados, False, True)
If Controle.Name = "cmdOk" Then Controle.Enabled = IIf(bolHablDados, True, False)
If Controle.Name = "cmdCancelar" Then Controle.Enabled = IIf(bolHablDados, True, False)
If Controle.Name = "cmdSair" Then Controle.Enabled = IIf(bolHablDados, False, True)

If LCase(Left(Controle.Name, 3)) = "txt" Then Controle.Locked = IIf(bolHablDados, False, True)
If LCase(Left(Controle.Name, 3)) = "chk" Then Controle.Enabled = IIf(bolHablDados, True, False)

If bolLimparTXT And LCase(Left(Controle.Name, 3)) = "txt" Then Controle.Text = ""

If bolLimparCHK And LCase(Left(Controle.Name, 3)) = "chk" Then Controle.Value = Unchecked

If bolLimparCBO And LCase(Left(Controle.Name, 3)) = "cbo" Then Controle.Clear

If bolLimparLST And LCase(Left(Controle.Name, 3)) = "lst" Then Controle.Clear


If LCase(Left(Controle.Name, 3)) = "cbo" Then Controle.Enabled = bolLiberaOBJ

If LCase(Left(Controle.Name, 3)) = "lst" Then Controle.Enabled = bolLiberaOBJ

If LCase(Left(Controle.Name, 3)) = "tvw" Then Controle.Enabled = bolLiberaOBJ
Next

Exit Sub

preparaTela_Error:

MsgBox "Erro " & Err.Number & " (" & Err.Description & _
") no procedimento preparaTela - Módulo de classe clsFormularios", vbCritical
bolSucesso = False
End Sub

Tópico encerrado , respostas não são mais permitidas