USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Limpas campos dentro de um Frame
D1000r
LONDRINA
PR - BRASIL
ENUNCIADA !
Postada em 02/05/2011 14:16 hs            
Tenho uma rotina para limpar todos os campos de uma formulário, mas eu tenho um outro formulário com tres frames (frame1, frame2 e frame3) com vários campos cada, eu precisava limpar apenas os campos que estao dentro do frame1, por exemplo. Existe algum comando que eu verifique se um determinado objeto (text por exemplo) está dentro de algum frame? Se não for possível verificar por frame, pode ser por SSTab, já que tenho algumas tabs tb, mas gostaria que limpasse só os campos da tab selecionada. Agraço desde já quem puder me ajudar...
TÓPICO EDITADO
 
D1000r
LONDRINA
PR - BRASIL
ENUNCIADA !
Postada em 02/05/2011 16:21 hs            
Bom, como meus amigos não tiveram a solução eu andei batendo a cabeça até criar uma solução temporária até aparecer algo mais simples, segue o código caso alguem precise:

Public Sub LimparCampos(IndiceI, IndiceF As Integer, Formulario As Form)

'Explicação:

'IndiceI é o índice inicial do controle e IndiceF é o índice final do controle
'Para eu limpar somente um intervalo de índice eu vejo o intervalo que desejo e informo na
'hora de chamar a função. No meu caso como eu tenho 3 Tabs, eu pego os ídices inicial até
'o ídice final dentro do meu tab, assim ele somente limpa os campos nesse intervalo fazendo
'com que os campos que estao em outras tabs continuem preenchidos

   Dim obj As Control
   Dim tabula As Integer
  
   For Each obj In Formulario.Controls
   tabula = obj.TabIndex 'pego o indice de tabulação do objeto
      If tabula >= IndiceI And tabula <= IndiceF Then 'vejo se o índice ta no intervalo q qro
         If TypeOf obj Is MaskEdBox Then 'Certifico se é um campo de mascara
            obj.PromptInclude = False
            obj.Text = ""
         End If
         If TypeOf obj Is TextBox Or TypeOf obj Is ComboBox Then 'Vejo se é texto ou combo
            obj.Text = ""
         End If
      End If
   Next

'Como o FOR EACH não procura os objetos em ordem de tabulção, tive que criar outro FOR
'EACH para ver o objeto que desejo que ganhe foco depois de eu limpar todos os campos

   For Each obj In Formulario.Controls
      tabula = obj.TabIndex
      If tabula = IndiceI Then 'Vejo o índice inicial (primeiro objeto do meu SSTab) e dou foco nele
         obj.SetFocus
         Exit For
      End If
   Next
   End Sub

''PRA CHAMAR
'No meu caso, como tenho 3 Tabs, fiz assim:

If SSTCondominio.Tab = 0 Then
      Call LimparCampos(0, 6, FrmCondominio)
   Else
   If SSTCondominio.Tab = 1 Then
      Call LimparCampos(17, 38, FrmCondominio)
   Else
      Call LimparCampos(49, 61, FrmCondominio)
   End If
   End If
End Sub

TÓPICO EDITADO
 
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página