Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/07/2006, 13:19
luciano
 
Fecha de Ingreso: abril-2004
Mensajes: 192
Antigüedad: 21 años, 1 mes
Puntos: 0
Hola Leandro, si es como decis, con el AutoRedaw en true no se dispara el Paint, y en los formularios tampoco. Yo estaba usabndo el autoredraw en false, por lo que si se ejecutaba el Paint.

El problema era que yo queria que se disparara el Paint no cuando se hace un repintado completo de la ventana del userC, si no que tambien se dispare cuando se repinta una porcion de la ventana.(un sector de la misma)

La solucion estaba en colocar la propiedad ClipControls en false, de este modo, por ejemplo si tengo el usercontrol en la ventana de diseño, y coloco cualquier control encima del mismo, se dispara, del otro modo, no se disparaba, a no ser que un control tapase completamente el control, o que maximize y minimize la ventana del formulario o del ide del vb. No se si me abré explicado bien, ya que es medio choto explicarlo. Igual el módulo ese está muy bueno, ya que como decis , si queres intercetar el paint, y una ventana tiene activada el autoredraw, es imposibkle de hacerlo.

Con lo que me preguntás, me enteré el otro dia de como determinar si se esta en tiempo de diseño o de ejecución. Tenes que usar la propiedad UserMode del objeto Ambient

por ej:

Código:
Private Sub UserControl_Show()
If Ambient.UserMode Then
   MsgBox "Estoy en tiempo de ejecución"
End If

If Ambient.UserMode = False Then
   MsgBox "Estoy en tiempo de diseño"
End If

End Sub
saludos.

Pd para los moderadores: ¿no se puede cambiar el lapso de tiempo para sacar de sesión al estar inactivo? es muy incomodo postear de esta forma, si no me acordaba de hacer un copy paste perdia el mensaje y tenia que volver a escribir


saludos
__________________
Recursos visual basic