77 votes

Raccourci du défilement horizontal dans Windows

Dans Os X, je peux maintenir la touche Maj tout en utilisant la molette de la souris pour faire défiler les pages horizontalement au lieu de verticalement. Existe-t-il un moyen de faire quelque chose de similaire sous Windows ?

26voto

Sam Points 1321

Voici un script AutoHotKey pour le faire en utilisant shift et (vraisemblablement) les commandes de défilement natives de la molette de la souris :

; Shift + Wheel for horizontal scrolling
+WheelDown::WheelRight
+WheelUp::WheelLeft

Ceci est tiré directement de https://gist.github.com/cheeaun/160999 .

Gardez à l'esprit que de nombreuses applications, y compris celles de Microsoft, ne prennent pas en charge le défilement horizontal de la molette de la souris. (Je crois que cette fonctionnalité n'a été introduite que dans Windows Vista).

18voto

cmeerw Points 266

Vous pouvez le simuler avec AutoHotKey

Si je trouve le script, je vous le ferai savoir : A partir de ces posts :

Vous devriez trouver quelques scripts

#Persistent mhook := > DllCall("SetWindowsHookEx", "int", 14 > ; WH_MOUSE_LL
    , "uint", RegisterCallback("WheelHorzHook"), > "uint", 0, "uint", 0) return

WheelLeft:
    MsgBox WheelLeft return

WheelRight:
    MsgBox WheelRight return

WheelHorzHook(nCode, wParam, lParam) {
    global mhook
    Critical
    if (wParam = 0x020E)  ; WM_MOUSEHWHEEL (Vista-only)
    {
        if (delta := NumGet(lParam+0,10,"Short"))
        {
            if (delta<0) {
                SetTimer, WheelLeft, -1
                return true
            } else {
                SetTimer, WheelRight, -1
                return true
            }
        }
    }
    return DllCall("CallNextHookEx", "uint", mhook, "int", nCode, "uint",
wParam, "uint", lParam) }

9voto

JoshReedSchramm Points 1729

De http://www.autohotkey.com/docs/Hotkeys.htm

Certaines des touches de raccourci les plus utiles pour la molette de la souris impliquent des modes alternatifs modes de défilement du texte d'une fenêtre. Par exemple, la paire de touches de raccourci suivante suivante fait défiler le texte horizontalement au lieu de verticalement lorsque vous tournez la molette tout en maintenant enfoncée la touche Contrôle gauche de gauche :

~LControl & WheelUp::  ; Scroll left.
ControlGetFocus, fcontrol, A
Loop 2  ; <-- Increase this value to scroll faster.
    SendMessage, 0x114, 0, 0, %fcontrol%, A  ; 0x114 is WM_HSCROLL and the 0 after it is SB_LINELEFT.
return

~LControl & WheelDown::  ; Scroll right.
ControlGetFocus, fcontrol, A
Loop 2  ; <-- Increase this value to scroll faster.
    SendMessage, 0x114, 1, 0, %fcontrol%, A  ; 0x114 is WM_HSCROLL and the 1 after it is SB_LINERIGHT.
return

6voto

Funkatron Points 757

Il existe un moyen de le faire dans Windows avec la souris droite. J'ai une souris avec une molette de défilement à laquelle est intégré un bouton de déplacement vers la gauche et vers la droite. Il suffit de pousser la molette de défilement vers la gauche ou la droite pour déplacer le contenu dans la direction souhaitée. J'utilise la Logitech VX et j'en suis très satisfait.

Le VX vous permet également de configurer les boutons différemment pour chaque application si vous en avez envie. Ce niveau de personnalisation est très agréable à avoir !

6voto

BevanFindlay Points 185

Après avoir cherché un peu, j'ai fini par trouver un moyen (à l'aide de AutoHotKey ) qui fonctionne dans Excel et partout ailleurs, sans manifestement casser quoi que ce soit (adapté de quelques solutions différentes sur les forums d'AutoHotKey, bien que je n'aie pas enregistré les sources et ne puisse donc pas donner le crédit approprié, désolé).

MS Excel semble avoir des étrange de son interface utilisateur (même si, après avoir vu pendant de nombreuses années ce que les développeurs de MS Office nous ont donné, je ne suis pas si surpris). Ce script semble fonctionner à peu près partout sauf pour MS Word - si quelqu'un peut résoudre ce problème, alors faites-le moi savoir ! C'est probablement quelque chose comme trouver la classe de fenêtre pour Word et coder pour elle spécifiquement comme cela a été fait avec Excel (juste avec un ensemble différent de liaisons de touches).

#Singleinstance Force
#IfWinActive ahk_class XLMAIN
+WheelUp::
SetScrollLockState, On
SendInput {Left}
SetScrollLockState, Off
Return
+WheelDown::
SetScrollLockState, On
SendInput {Right}
SetScrollLockState, Off
Return

; Everything except Excel.
#IfWinNotActive ahk_class XLMAIN
+WheelUp::  ; Scroll left.
ControlGetFocus, fcontrol, A
Loop 4  ; <-- Increase this value to scroll faster.
    SendMessage, 0x114, 0, 0, %fcontrol%, A  ; 0x114 is WM_HSCROLL and the 0 after it is SB_LINELEFT.
return

+WheelDown::  ; Scroll right.
ControlGetFocus, fcontrol, A
Loop 4  ; <-- Increase this value to scroll faster.
    SendMessage, 0x114, 1, 0, %fcontrol%, A  ; 0x114 is WM_HSCROLL and the 1 after it is SB_LINERIGHT.
return
#IfWinActive

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X