Hola a todos:
Alguien sabe como puedo evitar que ocurran eventos en un campo de texto, como el lostfocus, sin deshabilitar el control?
Saludos...
| |||
Respuesta: Evitar Eventos en un campo de texto Cierto...creo que deje la pregunta muy abierta. El detalle es el siguiente: Basicamente mi problema es con una variable global. Y expondre el caso lo mejor que pueda. Tengo un aplicativo el cual no puedo modificar directamente en codigo duro. Este aplicativo se puede modifcar Via Script. Ahora, tengo una pantalla con varios botones y varios campos de texto, me voy a avocar solo a 1 de cada uno. Yo capturo datos en el campo de texto y cuando presiono el boton de aceptar, corre un script que hace varias validaciones y modifica una variable global. Pongamosla como BolTodoOK. Si las validaciones pasan sin problema BolTodoOK = True, pero si hay problema en las validaciones BolTodoOK = False. y aqui coloco el foco en un campo de texto. (el del error) Ahora cuando llegan a presionar varias veces la tecla "enter" sobre el teclado, corre el evento lostfocus sobre el campo de texto y este me convierte la variable BolTodoOK = True. Esta parte debe ser muy rapida, por lo que un script me sobreescribe la variable y cuando verifico el valor de la variable para saber si la operacion estuvo bien, ya encuentro un BolTodoOK = True y se brinca las validaciones. Lo que quiero saber es como puedo evitar el evento lostfocus del control sin deshabilitarlo. espero haya sido un poco mas clara Saludos... |
| ||||
Respuesta: Evitar Eventos en un campo de texto No se si entiendo muy bien lo que quieres explicar, pero para validar los datos creo que es mejor el evento Validate Private Sub Text1_Validate(Cancel As Boolean) ' Si los datos nos son correctos pones Cancel = True y el campo no pierde el foco End Sub Saludos
__________________ Agradecer a quien te enseñó, es enseñar lo que de él aprendiste. Recuerda: Decir gracias, poco cuesta y mucho vale ... |
| |||
Respuesta: Evitar Eventos en un campo de texto Hola Erbuson: Mi problema no es tanto ese, sino que no cuento con el codigo fuente de la aplicacion, por lo que programar cualquier evento adicional o bien quitar algun evento que ya se este ejecutando no puedo hacerlo. Mi unica manera de modificar el programa es via Script, por lo que los eventos previamente programados no puedo modificarlos. Entonces pongamoslo de la siguiente manera: Public CancelaOperacion as boolean 'La variable global Sub Form_Load() 'Aqui todas las declaraciones necesarias de inicio del programa End Sub Sub Text_losfocus() CorreProceso "ValidaTeclado" 'CorreProceso es un llamado al objeto Script y "validateclado" es un script If CancelaOperacion = True Then CancelaOperacion = False Exit Sub End If End Sub Sub cmdAceptar_Click() CorreProceso "ValidaDatos" 'CorreProceso es un llamado al objeto Script y "ValidaDatos" es un script If CancelaOperacion = True Then CancelaOperacion = False Exit Sub End If TerminaOperacion End Sub Es un ejemplo general, no habria problema si el valor de la variable CancelaOperacion se quedará con el valor que envia el proceso ValidaDatos, pero en ocasiones (NO sucede siempre), al presionar muy rapido las teclas, el aplicativo corre el proceso lostfocus, si se dan cuenta al final de correr el proceso verifica la variable, y si esta en verdadero la pone en falso. Entonces cuando llega a la parte de validacion en el evento click del boton la variable ya trae un valor equivocado. Y termina la operacion. Repito, no cuento con codigo fuente. Solo puedo intentar detener la ejecucion de procesos via script Saludos... |
| ||||
Respuesta: Evitar Eventos en un campo de texto Espero que alguien te pueda ayudar, porque a mi esto de controlar via Script y lo demás que comentas me viene muy grande no tengo ni la mas remota idea de como puede hacerse. Lo siento
__________________ Agradecer a quien te enseñó, es enseñar lo que de él aprendiste. Recuerda: Decir gracias, poco cuesta y mucho vale ... |
Etiquetas: |