Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/04/2011, 13:13
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 8 meses
Puntos: 29
Respuesta: Problema con HScroll solo en XP

No tiene lógica este código.

(las mayusculas son para distinguir mi comentario del código)
Static Sumar As Integer
SUMAR SOLO VALE CERO LA PRIMERA VEZ QUE SE ENTRA EN LA SUB
E INMEDIATAMENTE SE LE ASIGNA EL VALOR UNO
If Sumar = 0 Then Sumar = 1

AQUI SIEMPRE LLEGARA SUMAR=1 ¿A QUE VIENE LA COMPARACION?
If HScroll1.Value = HScroll1.Min Then
Sumar = 1
HScroll1.Value = HScroll1.Value + Sumar

¿POR QUE NO LA DECLARAS CONSTANTE Y ACABAS ANTES:
Const Sumar = 1
HScroll1.Value = HScroll1.Value + Sumar

O MEJOR LO DEJAS EN:
HScroll1.Value = HScroll1.Value + 1

Por otro lado, al entrar en esta sub (change) se supone que ya ha cambiado el valor de hscroll1 por que has pinchado en el, de modo que cambiarlo aqui de nuevo es bastante inusual, si no es para controlar máximos o mínimos, y para eso están las propiedades max y min.

Lo de "estancarse" el control imagino que se refiere a que cuando pinchas en el a veces se queda pegado al raton y cuesta dejarlo donde quieres, pero ese código no creo que lo evite.

Que no responda el control es muy raro, y si pinchas en el para subirlo o bajarlo no hace falta hacer setfocus por estar ya enfocado.

Pon un punto de interrupción al comienzo de la sub y así compruebas si realmente no entra en ella el programa al pinchar en el scrollbar. Si entra pues lo sigues con F8 hasta que veas donde te falla.

Suerte
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!