Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado 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
' // 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
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 ::)
-
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 :(
-
SendKeys vbTabxD
Es broma ahora busco algo...
DoEvents! :P
-
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...!
-
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.
-
Te lo dije Raul, el daddy de esa criaturita era Leandro con Coco Roto...! Jaja