border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU

Retroceder   VB-MUNDO - Programacion Visual > Programacion - Lenguajes > Visual Basic 6.00
Registrarse FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 22-03-2007, 12:59:04
Avatar de Alella
Moderador
 
Registrado: mar 2004
Ubicación: BARCELONA - ESPAÑA
Posts: 985
Alella Valoración +2
Predeterminado ¿Se puede controlar el evento change en tiempo de ejecución?

Hola, buenas tardes.

Tengo un programa que crea cajas de texto en tiempo de ejecución en función de los campos que seleccione de una base de datos. La pregunta es: ¿Se puede controlar los eventos Change de estas cajas de texto, así como asignarles formatos, etc.?.

Muchas gracias a todos por vuestro tiempo.
__________________
Un saludo.

Alfredo
Barcelona-España
_________________
Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #2 (permalink)  
Antiguo 22-03-2007, 15:44:52
Gran Participación en el Foro
 
Registrado: feb 2007
Posts: 154
atarantino Valoración +2
Predeterminado

Hola Atella....
Si se puede...., no sé que método utilizó para crear controles en tiempo de ejecución, pero te paso que haría yo.



Option Explicit
Private WithEvents evtText As TextBox

Private Sub Form_Load()
Set evtText = Me.Controls.Add("VB.TextBox", "evtText")
evtText.Visible = True
End Sub

Private Sub evtText_Change()
Sentencias ….
End Sub


Lo que no se puede hacer es si tenés una matrix de controles.

Espero que te sirva
Responder Con Cita
  #3 (permalink)  
Antiguo 22-03-2007, 15:50:04
Avatar de Alella
Moderador
 
Registrado: mar 2004
Ubicación: BARCELONA - ESPAÑA
Posts: 985
Alella Valoración +2
Predeterminado

Hola, que tal.

Gracias por tu interés.

Mira, yo utilizo:

Código:
     Set txt(j, k) = Controls.Add("VB.TextBox", "txt" + CStr(j) + CStr(k))
Entonces, no sé como declarar el evento Change.
__________________
Un saludo.

Alfredo
Barcelona-España
_________________
Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #4 (permalink)  
Antiguo 22-03-2007, 17:01:58
Gran Participación en el Foro
 
Registrado: feb 2007
Posts: 154
atarantino Valoración +2
Predeterminado

Hola Atella....

El problema es que lo que estás asignando a una matrix y los eventos en tiempo de ejecución no puede ser una matrix, yo lo haría de la siguiente manera

Agregaría un modulo de Clase al proyecto con el Nombre de Tx por ejemplo (después lo ajustas a tu manera si) en él cargaría el siguiente código:

Option Explicit
Private WithEvents evtText As TextBox
Private xName As String

Private Sub Class_Initialize()

End Sub

Private Sub Class_Terminate()
On Error Resume Next
Set evtText = Nothing
End Sub

Private Sub evtText_Change()
MsgBox "hola - " & xName

‘Controlaría en forma centralizada lo que necesito
End Sub

Public Function TxAdd(ByVal frm As Form, ByVal Name As String, ByVal top As Long, ByVal Lft As Long) As TextBox
On Error Resume Next
Dim tx As TextBox
Set tx = frm.Controls.Add("VB.TextBox", Name)
tx.Visible = True
tx.top = top * 800
tx.Left = Lft * 1600

xName = Name

Set evtText = tx
Set TxAdd = tx

End Function


Ahora en un formulario colocaría lo siguiente:
Option Explicit
Private cc(2, 2) As Object



Private Sub Form_Load()
Dim jk As Integer
Dim jm As Integer
Dim nm As String

For jk = 1 To 2
For jm = 1 To 2

Set cc(jk, jm) = New tx
nm = "tx" & jk & jm
cc(jk, jm).TxAdd Me, nm, jm, jk

Next jm
Next jk

End Sub

Por supuesto trata de ajustarlo a lo tuyo
Espero que te sirva
Responder Con Cita
  #5 (permalink)  
Antiguo 22-03-2007, 19:32:13
Avatar de Alella
Moderador
 
Registrado: mar 2004
Ubicación: BARCELONA - ESPAÑA
Posts: 985
Alella Valoración +2
Predeterminado

Hola, que tal.

Lo pruebo mañana y te cuento.
__________________
Un saludo.

Alfredo
Barcelona-España
_________________
Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #6 (permalink)  
Antiguo 22-03-2007, 19:40:24
Avatar de Alella
Moderador
 
Registrado: mar 2004
Ubicación: BARCELONA - ESPAÑA
Posts: 985
Alella Valoración +2
Predeterminado

Hola, que tal.

Perfecto. Sólo tengo que adaptarlo a mis necesidades. Muchas gracias por todo.
__________________
Un saludo.

Alfredo
Barcelona-España
_________________
Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #7 (permalink)  
Antiguo 23-03-2007, 16:21:51
Avatar de Alella
Moderador
 
Registrado: mar 2004
Ubicación: BARCELONA - ESPAÑA
Posts: 985
Alella Valoración +2
Predeterminado

Hola, que tal.

Una pregunta más. Tengo que incorporar también MaskEdBox en tiempo de ejecución. ¿Es el mismo método o es diferente?. He hecho una prueba y aparentemente no me enseña nada en el formulario. ¿Se ha de hacer de otra manera para este control en particular?.

Muchas gracias por vuestro tiempo.
__________________
Un saludo.

Alfredo
Barcelona-España
_________________
Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #8 (permalink)  
Antiguo 23-03-2007, 16:55:19
Gran Participación en el Foro
 
Registrado: feb 2007
Posts: 154
atarantino Valoración +2
Predeterminado

Hola Alella ...

No el código para agregrar un maskedit es
Me.Controls.Add("MSMask.MaskEdBox", "xxx")

y dentro del Modulo de Clase hay que hacer un par de cambios....

Espero que te sirva
Responder Con Cita
  #9 (permalink)  
Antiguo 23-03-2007, 20:03:32
Avatar de Alella
Moderador
 
Registrado: mar 2004
Ubicación: BARCELONA - ESPAÑA
Posts: 985
Alella Valoración +2
Predeterminado

Hola, que tal.

Gracias. Yo utilizaba VB.MaskEdBox en vez de MSMask.MaskEdBox. Aquí estaba el problema. Gracias.
__________________
Un saludo.

Alfredo
Barcelona-España
_________________
Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #10 (permalink)  
Antiguo 23-03-2007, 23:34:41
Gran Participación en el Foro
 
Registrado: feb 2007
Posts: 154
atarantino Valoración +2
Predeterminado

Hola tocayo...
Está todo bien. A tus ordenes.
Como aclaración te comento que para los controles no intrínsicos lo buscar en el examinador de objetos, y buscas el control que deseas agregar.
Saludos.
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
SE PUEDE CONTROLAR UN INDICADOR LUMINOSO DESDE VB Juan Francisco Visual Basic 6.00 8 07-05-2008 19:45:03
evento en determinado tiempo pablo18 Visual Basic 6.00 4 08-03-2008 12:54:14
controlar el tiempo con progressbar jmartinym Visual Basic 6.00 0 17-02-2006 17:31:16
SOS Alguien puede ayudarme con un programita para controlar ikki_26 Visual Basic 6.00 3 30-06-2005 10:35:24
Se puede detener un evento Unload?? khoby Visual Basic 6.00 2 15-01-2005 15:47:54


La franja horaria es GMT. Ahora son las 02:45:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right