Windows 捲軸右鍵選單與 Shift+click 的身世考古
Microsoft DevBlogs(The Old New Thing)· 2026-09-22
背景:傳統捲軸其實只有三種操作
Raymond Chen 在文章開頭回顧,經典 Win32 垂直捲軸長年只提供五個滑鼠熱點,對應三種行為:捲軸兩端的箭頭讓畫面捲動一行;滑塊與箭頭之間的空白軌道區域讓畫面捲動一頁;而直接拖曳滑塊可以捲到任意位置。這個設計在 Windows 誕生後維持了將近二十年沒有變動。鍵盤對應也很單純,就是方向鍵、PgUp、PgDn、Home、End 這幾個熟悉的按鍵。
核心細節:Windows 7 一次埋了兩個彩蛋
Chen 指出,Windows 7 替捲軸加上了右鍵選單,選單裡七個項目分別對應既有的滑鼠與鍵盤操作,文中給出的對照如下。
Menu Item Mouse Equivalent Keyboard Equivalent
Scroll Here Drag thumb to position (none)
Top Drag thumb to start Home
Bottom Drag thumb to end End
Page Up Click in upper gutter PgUp
Page Down Click in lower gutter PgDn
Scroll Up Click on up-arrow Up arrow
Scroll Down Click on down-arrow Down arrow其中最特別的是 Scroll Here:在軌道上任一點按右鍵並選它,滑塊會直接跳到那個位置,不必先抓住滑塊再拖到目的地。同一版本裡,Windows 7 還藏了一個更少人知道的捷徑——按住 Shift 再點擊軌道,滑塊會立刻跳到滑鼠點擊的座標,效果等同 Scroll Here 但完全沒有選單提示。Chen 自己坦承,他多年來都靠右鍵選單跳頁,直到最近才知道還有這個 Shift+click 版本。
文章底下的留言把年代往前推了。Jernej Simončič 實際在多個版本的虛擬機裡測試,發現右鍵選單其實從 Windows 2000 就存在(在記事本與檔案總管都能重現),只有檔案總管左側樹狀窗格的捲軸例外,任何版本都沒有這個選單;他也確認 Shift+click 同樣是 Windows 2000 就已經有的行為。曾在 2006 年打造第一版 Chromium 捲軸的 Peter Kasting 則補充,他當年是照著 Windows XP 的捲軸行為做逆向工程,連拖曳游標偏離軌道多遠會彈回原點的門檻值都重現了,證實 Shift+click 至少從 XP 就已存在。
影響範圍與現況:框架換了,捷徑不一定跟著換
Chen 感嘆現在幾乎沒有應用程式還在用原生 Win32 捲軸,大家都改用各自框架的自訂捲軸,於是這兩個彩蛋能不能用,全看框架有沒有照抄。
框架 右鍵選單 Shift+click
Win32 原生捲軸 有 有
Chromium/Electron 沒有 有
WPF(XAML) 有 有
WinUI(XAML) 沒有 沒有(已有人提需求)
Qt 看開發者是否啟用對應 style hintQt 的做法比較特別,它把行為拆成獨立的 style hint,開發者要自己決定啟不啟用:SH_ScrollBar_ContextMenu 控制右鍵選單,SH_ScrollBar_LeftClickAbsolutePosition 與 SH_ScrollBar_MiddleClickAbsolutePosition 則分別對應左鍵、中鍵直接跳到點擊位置。對還在維護老 Win32 應用或用 WPF/Delphi VCL 這類原生控制項封裝的工程師來說,這兩個捷徑是內建的,不用多寫一行程式;但若專案是 Electron、WinUI 或自訂 Web 捲軸,長距離跳轉這個操作就得自己補上,否則使用者只能一路拖滑塊或連按 PgDn。
原始來源:A brief history of Windows scroll bar shortcuts(Microsoft DevBlogs, The Old New Thing)