Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: raul338 en Octubre 15, 2010, 12:49:00 pm

Título: Problema con ucDateTime y Textbox en Win7
Publicado por: raul338 en Octubre 15, 2010, 12:49:00 pm
Bien, aisle un problemita que tengo con el ucDateTime en windows 7
Pongan un ucDateTime y un textbox en el formulario. Inicien el proyecto (no importa si es ide o compilado). Hagan click en el combo del uc, se muestra el calendario. Lo suben, le dan el foco al textbox, vuelven a clickear en el combo del uc y pum! no se llega a mostrar el calendario y el combo queda como si nunca hubiera soltado el boton click, si clickeo denuevo se muestra el calendario  ??? . Debugeando descubri que se llama a DTN_DROPDOWN y DTN_CLOSEUP muuy rapidamente con este codigo en el evento cSubClass_WindowProc del ucDateTime

Código: (vb) [Seleccionar]
' // estas lineas para que se ubiquen
        Dim NM As NMDATETIMECHANGE
       
        CopyMemory NM, ByVal lParam, Len(NM)
' // Esto es lo nuevo
        Static Tim
        Select Case NM.NMHDR.code
            Case DTN_CLOSEUP
                Debug.Print Time$, "DTN_CLOSEUP"
                Debug.Print Time$, Timer - Tim
            Case DTN_DATETIMECHANGE: If lParam <> 1308108 And lParam <> 1307924 Then RaiseEvent Change
            Case DTN_DROPDOWN
                Debug.Print Time$, "DTN_DROPDOWN"
                UserControl_EnterFocus
                Tim = Timer
        End Select

Código: [Seleccionar]

15:58:44      DTN_DROPDOWN
15:58:45      DTN_CLOSEUP
15:58:45       0,65625
15:58:47      DTN_DROPDOWN
15:58:47      DTN_CLOSEUP
15:58:47       3,90625E-03 // aca seria 0,000390 segs ._.
15:58:50      DTN_DROPDOWN
15:58:51      DTN_CLOSEUP
15:58:51       0,953125

Asi que bueno, no se, habra un problema de mensajes... Es lo que estoy viendo
Si a alguien mas le pasa o le paso, digame como solucionarlo  ::)
Título: Re:Problema con ucDateTime y Textbox en Win7
Publicado por: raul338 en Octubre 26, 2010, 11:48:29 am
Aca una muestra grafica
(http://img522.imageshack.us/img522/1402/sinttulosw.png)

Haber si logran corregir el uc, a mi no me salio nada de lo que probe  :(
Título: Re:Problema con ucDateTime y Textbox en Win7
Publicado por: Psyke1 en Octubre 26, 2010, 11:58:53 am
Código: (vb) [Seleccionar]
SendKeys vbTabxD
Es broma ahora busco algo...

DoEvents! :P
Título: Re:Problema con ucDateTime y Textbox en Win7
Publicado por: ssccaann43 en Octubre 26, 2010, 12:11:58 pm
Aca una muestra grafica
(http://img522.imageshack.us/img522/1402/sinttulosw.png)

Haber si logran corregir el uc, a mi no me salio nada de lo que probe  :(

Jajaja, raul siempre expones tus problemas Graficamente, excelente...! Pues si encontramos algo te avisamos..! Aunque el padre de esa criaturita si mal no recuerdo es Leandro...!
Título: Re:Problema con ucDateTime y Textbox en Win7
Publicado por: LeandroA en Octubre 27, 2010, 12:05:43 am
Hola Raul, si la verdad no se porque carajo, es solo cuando un textbox toma el foco, en seven si estan lo themes no lo hace, pero en xp  con y sin los temas lo hace.

Al final despues de romperme la cabeza un buen rato, lo solucione con un simple doevents

        If NM.NMHDR.code = NM_SETFOCUS Then
            DoEvents
        End If

y le puse el foco cuando el usercontrol toma el foco (por si te moves con la tecla tab)
descargalo nuevamente que tiene que funcionar bien.
http://www.leandroascierto.com.ar/categoria/Controles%20de%20Usuario/articulo/ucDateTime.php

Saludos.
Título: Re:Problema con ucDateTime y Textbox en Win7
Publicado por: ssccaann43 en Octubre 27, 2010, 12:40:20 pm
Te lo dije Raul, el daddy de esa criaturita era Leandro con Coco Roto...! Jaja