2012-03-17 8 views

Respuesta

16

¿Qué hay de GetScrollBarInfo con OBJID_HSCROLL o OBJID_VSCROLL

Si idObject es OBJID_CLIENT y la ventana especificada por hwnd no es un control de barra de desplazamiento del sistema, el sistema envía el mensaje SBM_GETSCROLLBARINFO a la ventana para obtener la barra de desplazamiento información. Esto permite que GetScrollBarInfo funcione en un control personalizado que imita una barra de desplazamiento. Si la ventana no maneja el mensaje SBM_GETSCROLLBARINFO, la función GetScrollBarInfo falla.

Puede probar rgstate en la estructura SCROLLBARINFO, hay una bandera STATE_SYSTEM_INVISIBLE allí.


Otra forma posible es poner a prueba GetWindowLong(hWnd, GWL_STYLE) and (WS_HSCROLL or WS_VSCROLL) <> 0

+0

parece prometedor, pero no funciona con las ventanas de Internet Explorer o aplicaciones Explorer.exe (Windows 7) – Salvador

+1

Creo que 'Explorer.exe' contiene el controla 'SysTreeView32' y' SysListView32' (ambos devuelven 'WS_HSCROLL' o' WS_VSCROLL' válidos) con 'GetWindowLong'. Yo uso Spy ++ para confirmar los estilos de ventana. no hizo la prueba con 'GetScrollBarInfo' sin embargo. – kobik

Cuestiones relacionadas