Control indomito

10/03/2006 - 08:50 por Desastres | Informe spam
Buenos días.



Tengo un problema viejo con los controles de un formulario que no he aprendido a controlar.



Cuando hay algún error que puedo controlar, utilizo otro formulario portador de un textbox como
formulario informador para informar al usuario( es decir a mi), luego pongo la propiedad Cancel True y para que no se escape del control del primer formulario, del formulario informador.

Y no se escapa. Lo sé porque cada vez que intento salir del formulario de trabajo, el formulario
informador me comunica el error que se produce antes del Cancel=True .



(Pero en realidad ha salido del control porque se ha ejecutado el formulario informador, se ha
llenado el textbox del formulario informador y se ha descargado[a veces] el otro formulario
informador)



El problema es que no se ha descargado o al menos no se ha quitado de la pantalla ( en segundo
plano).

Lo cierto es que estando dentro (teóricamente del control con el error) del formulario de trabajo si
tecleo cualquier cosa no se ve reflejado en el Control. Para conseguirlo tengo que Clicar primero en
él.

¿Puede alguien decirme en que he metido la pata hasta el corbejo?



Saludos cordiales,

Des

Preguntas similare

Leer las respuestas

#6 Desastres
14/03/2006 - 06:43 | Informe spam
Hola Héctor. Gracias
=> showmodal: true ES como se establece [por omision] en la ventana de propiedades del


formulario...

Sí. Te pretendia decir que no se habia modificado.
Las letras :vbModeless no aparecen ni una sola vez en toda la aplicacion.

=> el limite de un MsgBox es de 1024 caracteres, -> procura 'acotar' con saltos de linea


adecuadamente [vbCR] en el texto ;)

Lo he hecho en alguna ocasion pero, como te decia, me parece un poco seco.( ademas de que me
condiciona a no saver crear, abrir, cerrar, ampliar o reducir formularios o controles.


> Hay algo que lo complica quizas un poco mas. Teoricamente no deberia salir del Control. pero


sale.
> Y sin aparentemente ejecutarse el Exit del control. (o es que no esta dentro?)

=> [hasta ahora] la unica forma en que he logrado 'reproducir' el comportamiento que decribes...
es usando una macro que muestre el formulario como 'NO modal' -> UserForm1.Show vbModeless



pues ya te digo que no aparece ni una sola vez en toda la aplicacion.

y 'manejando' el evento '_exit' del control para 'impedir' su salida [como 'resultado']..
'el foco' SE QUEDA en el control PERO... como 'tras bambalinas' [es decir]...


Pues eso. Y tras bambalinas, pues como que no es lo que uno quierre.

un -> MsgBox Me.ActiveControl.Name 'me dice' que el foco SI esta en el control [pero como


'inactivo']
y SOLO cuando el formulario [principal] se ha mostrado como -> vbModeless <= OJO



Pues este, no es SOLO en estado de vbModeless .

=> ademas, considera [como mencionas al final] que se trata de 2000 lineas de codigo MAS llamadas


a procedimientos 'externos' :))
Los precedimientos externos son más generales que otra cosa.
Modulos para asignar o "desasignar" variables (un porron y pico) , o comprobar cadenas.


[creo que] no te escaparas de 'revisar' en esas 2000 lineas de codigo :-(


ni las otras...
o... exponer [al menos] las lineas donde se hagan llamadas al formulario y sus controles -?-




Si tu me has propuesto dos posibilidades, una con un formulario informativo y otra sustituyéndolo
por un Msgbox, doy por supuesto que ambos te funcionan perfectamente a ti.
¿es así ?. A mi no.
A mi no me funcionan ni en un libro creado expresamente para la comprobacion.

¿ Hay la posibilidad de que la aplicación ( Excel ) esté parametrizada en algún punto para que tenga
comportamiento NO MODAL por omisión ?
¿ Puede ser que la generación de Errores ( de esos que hacen que cree o añada un registro de
errores ) haya hecho que en algún punto, ( como a quien se le queda un tic y va guiñando por el
mundo alante) haya pasado a NO MODAL predeterminadamente?
¿ Puede el sistema Windows, estar parametrizado en algún punto para que EXCEL se comporte como NO
MODAL por omisión?
¿ Me tendrá manía Excel ?

Saludos
Des
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida