Verknüpfung für horizontales Scrollen in Windows

68085
Matthew Shanley

In Os X kann ich die Umschalttaste gedrückt halten, während Sie das Scrollrad der Maus verwenden, um horizontal und nicht vertikal zu scrollen. Gibt es eine Möglichkeit, etwas Ähnliches in Windows zu machen?

59
Scrollen in welcher Anwendung? Forscher? einen Webbrowser? Es hängt davon ab, wie der Ersteller es implementieren wollte. Wenn es sich um einen Browser handelt, wird es anders sein. John T vor 15 Jahren 1
Ich habe auf eine systemweite Lösung gehofft. Matthew Shanley vor 15 Jahren 11
Ich glaube nicht, dass es standardmäßig eine systemweite Verknüpfung für Windows gibt. chills42 vor 15 Jahren 0

9 Antworten auf die Frage

21
Sam

Here's an AutoHotKey script to do it using shift and (presumably) native mouse wheel scroll commands:

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

This is taken directly from https://gist.github.com/cheeaun/160999.

Keep in mind that a lot of applications, including Microsoft applications, don't support horizontal mouse wheel scrolling. (I believe the feature was only introduced in Windows Vista.)

Vielen Dank, funktioniert gut in Visual Studio! Schade, dass es in Excel 2013 und Google Chrome nicht funktioniert. cheeesus vor 10 Jahren 0
@cheeesus, für mich hat Google Chrome in Windows tatsächlich Unterstützung für horizontales Scrollen. Auch ohne das obige Skript kann ich die Umschalttaste gedrückt halten und mit dem Mausrad scrollen, um horizontal zu scrollen. Sam vor 10 Jahren 3
Perfekt! Dies ist die beste Antwort, einfach und problemlos. Für diejenigen, die mit AutoHotKey noch nicht vertraut sind: 1) Laden Sie AutoHotKey von http://www.autohotkey.com/ herunter und installieren Sie es. 2) Klicken Sie mit der rechten Maustaste auf Ihren Desktop -> Neu -> Textdokument -> Erstellen Sie eine Datei mit dem Namen "myscript.ahk" 3) Kopieren Sie das Skript von oben -> Speichern Sie die Datei. 4) Klicken Sie mit der rechten Maustaste auf die Datei. -> Skript ausführen. 5) Das kleine H-Symbol sollte im Infobereich der Taskleiste erscheinen und jetzt "Shift" + Mouse Wheel "sollte horizontal scrollen np8 vor 10 Jahren 2
15
Ivo Flipse

Sie könnten es mit AutoHotKey simulieren

Wenn ich das Skript finde, lasse ich Sie wissen: Von diesen Beiträgen:

Sie sollten einige Skripte finden

#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) } 
Ah, hast du es zur Arbeit? Genial! Ivo Flipse vor 15 Jahren 0
7
Matthew Lock

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

Some of the most useful hotkeys for the mouse wheel involve alternate modes of scrolling a window's text. For example, the following pair of hotkeys scrolls horizontally instead of vertically when you turn the wheel while holding down the left Control key:

~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 
5
Axxmasterr

Es gibt eine Möglichkeit, dies in Fenstern mit der rechten Maus auszuführen. Ich habe eine Maus mit einem Scrollrad, in das eine Rechts- / Rechts-Rechts-Taste integriert ist. Durch einfaches Drücken des Scrollrads nach links oder rechts bewegen Sie den Inhalt in die gewünschte Richtung. Ich habe die Logitech VX und war damit sehr zufrieden.

Mit dem VX können Sie die Tasten auch für jede einzelne Anwendung anders konfigurieren, wenn Sie dazu geneigt sind. Dieses Maß an Anpassung ist sehr schön!

Die Microsoft Wireless Laser Mouse 5000 (http://www.microsoft.com/hardware/mouseandkeyboard/ProductDetails.aspx?pid=068) verfügt über diese Funktionalität. Travis vor 15 Jahren 0
Du hast Recht! Ich hatte diese Maus vor dem Upgrade auf die VX. Der VX hat zwei sehr schöne Funktionen, weshalb ich ein Upgrade durchgeführt habe. Das Scrollrad hat ein Schwungrad, das sich 7 Sekunden lang dreht. Das andere nette Feature ist, dass der USB-Dongle für die Maus tatsächlich vollständig in das Gerät passt. Daher ist es sehr schwierig, den Dongle zu verlieren. Axxmasterr vor 15 Jahren 0
3
Matthew Lock

In einigen Windows-Programmen wird horizontal verschoben (z. B. Windows Explorer).

In anderen Programmen wie Internet Explorer, Firefox und Excel wird beim Scrollen von links nach rechts die Scroll-Taste gedrückt gehalten.

In Chrome scheint auch das horizontale Scrollen von Shift integriert zu sein. Sam vor 10 Jahren 2
Sieht so aus, als ob es auch in VS funktioniert, was ich eigentlich brauchte! Vielen Dank! Shimmy vor 8 Jahren 0
2
iagrapefruit

Hier ist eine harte Lösung für Word (nur), die sowohl AutoHotKey- als auch Word-Makros erfordert. Es funktioniert nur in der Hauptdokumentansicht in Word (was für mich gut genug ist).

Verwenden Sie zunächst AutoHotKey, um als Reaktion auf die Mausaktion einen benutzerdefinierten Tastenanschlag an Word zu senden. Ich verwende Alt-M RightArrow und Alt-M LeftArrow. (Ich habe auch Mappings für die WheelLeft- und WheelRight-Ereignisse, da meine Maus sie gut sendet; ich brauche nur Word, um etwas Nützliches mit ihnen zu tun.)

#If WinActive("ahk_class OpusApp") +WheelUp::SendInput !+M WheelLeft::SendInput !+M WheelRight::SendInput !+M +WheelDown::SendInput !+M #If 

Richten Sie Word-Tastenzuordnungen ein (alternativ können Sie dazu das Dialogfeld zur Anpassung der Tastatur verwenden):

' Alt-Shift-M Right (keycode 39) KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyM, wdKeyShift, wdKeyAlt), _ KeyCode2:=BuildKeyCode(39), _ KeyCategory:=wdKeyCategoryMacro, Command:="Normal.NewMacros.ScrollRight"  ' Alt-Shift-M Left (keycode 37) KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyM, wdKeyShift, wdKeyAlt), _ KeyCode2:=BuildKeyCode(37), _ KeyCategory:=wdKeyCategoryMacro, Command:="Normal.NewMacros.ScrollLeft" 

Definieren Sie schließlich die Word-Makros in Ihrer Vorlage "Normal" (oder passen Sie die Verweise darauf oben an):

Sub ScrollRight() ActiveWindow.SmallScroll ToRight:=1 End Sub Sub ScrollLeft() ActiveWindow.SmallScroll ToLeft:=1 End Sub 
1
BevanFindlay

Nachdem einige sich umgesehen hatten, fand ich schließlich einen Weg (mit AutoHotKey ), der in Excel und überall funktioniert, ohne offensichtlich irgendetwas zu brechen (angepasst an ein paar verschiedene Lösungen in den AutoHotKey-Foren, obwohl ich keine Quellen aufgenommen habe und daher nicht geben kann.) die entsprechende Gutschrift tut mir leid).

MS Excel scheint einige seltsame Wege im Umgang mit seiner Benutzeroberfläche zu haben (obwohl ich nach vielen Jahren, die wir gesehen haben, was die MS Office-Entwickler uns gegeben haben, nicht überrascht ist). Dieses Skript scheint fast überall außer MS Word zu funktionieren - wenn jemand das Problem lösen kann, dann lassen Sie es mich wissen! Es ist wahrscheinlich so etwas wie das Herausfinden der Fensterklasse für Word und die Codierung speziell dafür, wie es in Excel gemacht wurde (nur mit einem anderen Satz von Tastenkombinationen).

#Singleinstance Force #IfWinActive ahk_class XLMAIN +WheelUp:: SetScrollLockState, On SendInput  SetScrollLockState, Off Return +WheelDown:: SetScrollLockState, On SendInput  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 
1
Envil

Aus der Sam-Lösung habe ich eine eigene Lösung mit konfigurierbarer Bildlaufgeschwindigkeit entwickelt:

https://gist.github.com/envil/d21a24744b68fda626b4444784f71c32

; Shift + Wheel for horizontal scrolling +WheelUp:: ; Scroll to the left MouseGetPos,,,id, fcontrol,1 Loop 8 ; <-- Increase for faster scrolling SendMessage, 0x114, 0, 0, %fcontrol%, ahk_id %id% ; 0x114 is WM_HSCROLL and the 0 after it is SB_LINERIGHT. return +WheelDown:: ;Scroll to the right MouseGetPos,,,id, fcontrol,1 Loop 8 ; <-- Increase for faster scrolling SendMessage, 0x114, 1, 0, %fcontrol%, ahk_id %id% ; 0x114 is WM_HSCROLL and the 1 after it is SB_LINELEFT. return 
Tolles Skript. Das funktioniert wirklich gut. Nick Painter vor 6 Jahren 0
Die einzige Anwendung, mit der dies nicht zu funktionieren scheint, ist der Windows-Explorer. Nick Painter vor 6 Jahren 0
1
Blaine

Nicht gerade eine Tastenkombination, aber Sie können immer mit dem Mausrad klicken. Dadurch wird in den meisten Anwendungen ein 4-Wege-Symbol angezeigt, das Sie zum Scrollen verwenden können