Output window scrollbar popup menu

Posted by Worstje on Thu 10 Jan 2008 08:03 AM — 7 posts, 28,029 views.

Netherlands #0
I just woke up and remembered this little thing. In Windows, native scrollbars always have their nifty little popup menu. It consists of:

Scroll here
---
Top
Bottom
---
Page Up
Page Down
---
Scroll Up
Scroll Down

You can find it in the various notepad windows if there is a scrollbar, for example.

However, the main output window lacks it and shows the gigantic popup from the rest of the output window isntead. While I enjoy holding page down or pressing enter to scroll all the way to the bottom, or hunting the thumb so I can drag it to a location of my choice, it is a far more convenient way to go up in your buffer when the thumb is like 3px high like it tends to be for me and my gigantic buffers. So while it does not add much concrete functionality, it adds the little bit of polish that makes a gigantic buffer a bit more usable.
Australia Forum Administrator #1
I must admit I had never seen that until you mentioned it. A quick Google shows that some people have asked similar questions about other applications and got a similar response "what menu?".

I should point out first that almost all of the functionality of that menu is already available from the keyboard:

  • Top - Ctrl+Home
  • Bottom - Ctrl+End
  • Page Up - Ctrl+Page-Up
  • Page Down - Ctrl+Page-Down
  • Scroll Up - Ctrl+Up-Arrow
  • Scroll Down - Ctrl+Down-Arrow


The only missing functionality is "Scroll here", however for a big buffer isn't that guesswork? I think I would have to grab the thumb myself and drag it back and forth until the part of the window I was interested in came into view. Or, use Find to find the line in question.

I looked at the source code and couldn't find any way of handling the scroll bars differently (in the code that handles the RH-click). I was hoping I could detect that the click was in the scroll bar, and let it return "false" or something so the Windows default handling would kick in, but that particular function (which is part of MFC) does not take a return code.

Also, a Google on the "scroll here" words, OnContextMenu and MFC returns practically nothing, so it seems there are no helpful articles on how to implement it.

I suppose it could be added "manually" by making the menu up myself, but that involves a change to the resource file (en.dll) which I have managed to avoid changing for quite a few versions now, and am reluctant to do for a fairly obscure feature.
Amended on Thu 10 Jan 2008 08:24 PM by Nick Gammon
Netherlands #2
Ah, nevermind then. It was just one of those tidbits I always felt MUSH lacked but never really depended upon. It is just.. nice.
#3
Shift+Clicking on a native scroll bar does "Scroll Here". And I just tested this in MUSHclient and it seems to work :) (It also does in Firefox but not in Opera :( )

And I've never seen that menu. (And can't find it on my Windows XP Pro/Notepad either.)
Netherlands #4
It works for me on every of my three computers, all running WXP Pro. So I really think that must be you, Isthiriel. :)

And thanks for the shift click tip. I doubt I'll use it since I never use the little popup consciously, so if it's not there I'll be quicker to grab the thumb.
Australia Forum Administrator #5
Well you learn something new every day. :)

Just to clarify, if you shift-click in the scrollbar (including in MUSHclient's output window), it moves the thumb to the point where you shift-click.

This is faster than the message that started this thread, as that involved Rh-clicking and then selecting "scroll here", which is 2 actions.

Thanks for that information, that is very interesting.
USA #6
This functionality is not present while running under WINE.