Make vertical scroll bar darker



  • Maybe my eyes are starting to fail me, but sometimes the vertical scroll bar indicator in the vertical scroll bar is just so hard to see - the colors aren’t contrast-y enough. A quick look through custom themes and maybe it’s due to the background colors of some themes, but it does look a little better. But I can’t seem to find the vertical scroll bar “color” in themes. It may not be configurable.

    1. Can the vertical scroll bar color be changed? If not …
    2. Can a Python Script do it?

    Cheers.



  • @Michael-Vincent

    1. Not that I’m aware
    2. Maybe, that’s what I currently investigate. By indicator you mean the thumb, right?

    a3ce97cc-5d9c-44cf-8d28-2dceaf217342-image.png



  • @Michael-Vincent

    vertical scroll bar indicator in the vertical scroll bar is just so hard to see - the colors aren’t contrast-y

    My “thumb” in Win10 already has “good” (I won’t go so far as to say “great”) contrast; maybe post a pic of yours?

    23888d73-dcd1-4fec-a409-eca93aac56d2-image.png



  • @Ekopalypse

    Yes, that’s it, what you’re calling the “thumb”.

    @Alan-Kilborn

    On my $work computer - image site is blocked. However the pic you posted is pretty much exactly what I see - to me there’s very little contrast on that and I can barely see it. I can see @Ekopalypse much better.

    Cheers.



  • It seems to be the only way to create some sort of overlay,
    from what I understand, because the Windows message WM_CTLCOLORSCROLLBAR
    is not sent in our case.
    In my opinion, this would mean that, via the respective
    Scintilla window procedure, one must act on WM_PAINT, as described here in an example,
    and a new, darker(?) thumb must be painted over the original thumb.
    How performant this is … ??



  • @Michael-Vincent said in Make vertical scroll bar darker:

    On my $work computer - image site is blocked

    If you copy an image to the clipboard and then try to Ctrl+v it into your posting here – it’s blocked??
    That seems really odd; I thought my work company was militant but yours takes it to a new level. :-)

    @Ekopalypse

    How performant this is … ??

    We won’t know until we see your demo of it. :-)



  • By the way, I doubled checked that scintilla does not receive the MW_CTL… message.

    Here what I received during testing (the number after the message are the wpara and lparam values)

    WM_KEYUP 116 3225354241
    WM_NCHITTEST 0 14222968
    WM_SETCURSOR 66926 33554450
    WM_NCMOUSEMOVE 18 14222968
    WM_NCHITTEST 0 14157432
    WM_SETCURSOR 66926 33554450
    WM_NCMOUSEMOVE 18 14157432
    WM_NCHITTEST 0 14091895
    WM_SETCURSOR 66926 33554450
    WM_NCMOUSEMOVE 18 14091895
    WM_NCHITTEST 0 14091894
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 14091894
    WM_NCHITTEST 0 14026358
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 14026358
    WM_NCHITTEST 0 13960821
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13960821
    WM_NCHITTEST 0 13895284
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13895284
    WM_NCHITTEST 0 13829748
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13829748
    WM_NCHITTEST 0 13764211
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13764211
    WM_NCHITTEST 0 13698675
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13698675
    WM_NCHITTEST 0 13698674
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13698674
    WM_NCHITTEST 0 13633138
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13633138
    WM_NCHITTEST 0 13567601
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13567601
    WM_NCHITTEST 0 13502065
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13502065
    WM_NCHITTEST 0 13436529
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13436529
    WM_NCHITTEST 0 13436528
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13436528
    WM_NCHITTEST 0 13370992
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13370992
    WM_NCHITTEST 0 13305455
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 13305455
    WM_TIMER 3 0
    WM_PAINT 0 0
    WM_TIMER 3 0
    WM_PAINT 0 0
    WM_NCHITTEST 0 13305455
    WM_MOUSEACTIVATE 197042 33619975
    WM_SETCURSOR 66926 33619975
    WM_NCLBUTTONDOWN 7 13305455
    WM_SYSCOMMAND 61575 13305455
    WM_VSCROLL 5 0
    WM_CAPTURECHANGED 0 66926
    WM_TIMER 3 0
    WM_NCMOUSELEAVE 0 0
    WM_PAINT 0 0
    WM_VSCROLL 65541 0
    WM_PAINT 0 0
    WM_VSCROLL 131077 0
    WM_PAINT 0 0
    WM_VSCROLL 196613 0
    WM_PAINT 0 0
    WM_VSCROLL 262149 0
    WM_PAINT 0 0
    WM_VSCROLL 327685 0
    WM_PAINT 0 0
    WM_VSCROLL 393221 0
    WM_PAINT 0 0
    WM_TIMER 3 0
    WM_PAINT 0 0
    WM_CAPTURECHANGED 0 0
    WM_VSCROLL 393220 0
    WM_VSCROLL 8 0
    WM_NCHITTEST 0 15402613
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 15402613
    WM_NCHITTEST 0 15468149
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 15468149
    WM_NCHITTEST 0 15599219
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 15599219
    WM_NCHITTEST 0 15730289
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 15730289
    WM_NCHITTEST 0 15861358
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 15861358
    WM_NCHITTEST 0 16057963
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 16057963
    WM_NCHITTEST 0 16320103
    WM_SETCURSOR 66926 33554439
    WM_NCMOUSEMOVE 7 16320103
    WM_NCHITTEST 0 16582242
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 5899430
    WM_NCMOUSELEAVE 0 0
    WM_NCHITTEST 0 16975450
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 6292638
    WM_NCHITTEST 0 17237589
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 6554777
    WM_NCHITTEST 0 17696334
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 7013522
    WM_NCHITTEST 0 18089543
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 7406731
    WM_NCHITTEST 0 18613821
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 7931009
    WM_NCHITTEST 0 19138098
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 8455286
    WM_NCHITTEST 0 19793445
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 9110633
    WM_NCHITTEST 0 20448791
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 9765979
    WM_NCHITTEST 0 21366274
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 10683462
    WM_NCHITTEST 0 22152688
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 11469876
    WM_NCHITTEST 0 23004636
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 12321824
    WM_NCHITTEST 0 24053188
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 13370376
    WM_NCHITTEST 0 25101742
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 14418930
    WM_NCHITTEST 0 26150295
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 15467483
    WM_NCHITTEST 0 27329917
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 16647105
    WM_NCHITTEST 0 28312937
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 17630125
    WM_NCHITTEST 0 29492560
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 18809748
    WM_NCHITTEST 0 30475580
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 19792768
    WM_NCHITTEST 0 31589670
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 20906858
    WM_NCHITTEST 0 32638226
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 21955414
    WM_NCHITTEST 0 33883388
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 23200576
    WM_NCHITTEST 0 34931943
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 24249131
    WM_NCHITTEST 0 35914965
    WM_SETCURSOR 66926 33554433
    WM_MOUSEFIRST, WM_MOUSEMOVE 0 25232153
    WM_MOUSELEAVE 0 0
    


  • @Alan-Kilborn said in Make vertical scroll bar darker:

    We won’t know until we see your demo of it. :-)

    LOL
    I haven’t finished PySnack or ThemeBuilder yet and now you ask for a demo for it? :-D

    I will probably try it sometime today :-D



  • @Ekopalypse

    Sometimes the “small” ones are a nice diversion when the “bigger” ones get bogged down.
    Accomplishing a “small” one reinvigorates you for the others. :-)



  • @Alan-Kilborn said in Make vertical scroll bar darker:

    If you copy an image to the clipboard and then try to Ctrl+v it into your posting here

    Sorry, you’re right, didn’t know we could post photos directly in here, thought we had to link to that imgur site (which is blocked for me).

    59d1fa91-72f1-4810-9444-eba6495dc29b-image.png

    I can see the one on the right much clearer. Note, that’s with my mouse clicking on the “thumb” to scroll / move it - it highlights darker when it’s clicked on.

    @Ekopalypse @Alan-Kilborn
    Please don’t waste any time on this unless it truly intrigues you. This was just a question to see if I was missing something in Style Configuration or Themes. If we need to hook Windows events that aren’t currently passed, then it’s going way beyond how “easy” it could be and I can live with it.

    Cheers.



  • @Michael-Vincent said in Make vertical scroll bar darker:

    Yes, I see your complaint about lack of contrast. And yes, my thumb also gets way darker when I’m using it.

    didn’t know we could post photos directly in here, thought we had to link to that imgur site (which is blocked for me).

    Our “recent” upgrading of the forum software changed this. Sooooo much easier to just paste!
    I can’t believe the amount of effort I went to before, to go to imgur, paste it there, create a link, blah blah blah

    don’t waste any time on this unless it truly intrigues you

    Oh, it intrigues @Ekopalypse , I have no doubt.



  • @Alan-Kilborn said in Make vertical scroll bar darker:

    Oh, it intrigues @Ekopalypse , I have no doubt.

    In the not too distant future, the Duden will have to adopt a new synonym for the word curious - namely Ekopalypse :-)



  • Seems I can’t see, again, the wood for the trees.
    According to MSDN there is the function GetScrollBarInfo,
    which provides information about the scrollbar.

    e.g. these values

                  cbSize : 60
             rcScrollBar
                    left : 1429
                     top : 174
                   right : 1446
                  bottom : 702
    
           dxyLineButton : 17
              xyThumbTop : 342
           xyThumbBottom : 423
                reserved : 0
                 rgstate : [0, 0, 0, 0, 0, 0]
    

    The fields of interest are rcScrollBar and
    dxyLineButton, xyThumbTop, and xyThumbBottom.

    The thing that confuses me now is the fact,
    that these values are only conditionally compatible
    with the values provided by UISpy.

    rcScrollBar is ok, from UISpy I get (1429, 174, 17, 528) = (left, top, right-left, bottom-top)
    but for the thump I get from UISpy (1429, 516, 17, 81)
    Where does the 516, the top value actually come from?
    1429 = left
    17 = dxyLineButton
    81 = xyThumbBottom-xyThumbTop=423-342
    516 = ?? (actually top but it is supposedly 342)

    What didn’t I understand?



  • Oh, I see - the thumb coordinates are relative to the scrollbar coordinates.



  • Ok, so I’ve tried it and I couldn’t make it work.
    From msdn I understand that painting should take place
    within WM_PAINT and start with BeginPaint and end with EndPaint.
    That’s what I did and I can see the changes for a very short time then
    it disappears again.
    Then I tried approaches with BitBlt or StretchBlt but failed again.
    Now I’m not sure if it can be done but I get the feeling that it shouldn’t be done, unless the window gets created with real scrollbars.



  • @Ekopalypse said in Make vertical scroll bar darker:

    Ok, so I’ve tried it and I couldn’t make it work.

    Wow, thanks for all that work - I hope you found it interesting at least. No worries on my part, I figured it was something obvious I was missing or going to be something very hard. Turned out to be the latter, so I can live with it.

    Thanks again!

    Cheers.



  • @Michael-Vincent

    I hope you found it interesting at least

    That’s for sure. To be honest I wasn’t fully aware that there are two,
    even three types, of scrollbars. The one, which I call real scrollbars,
    the one which do get automatically added to a window when this has
    been created using WS_HSCROLL or WS_WSCROLL style and userdefined
    ones. And that all of them have certain different abilities and need to be treated differently.
    So yes, it was fun :-)



  • Hello ,@Michael-Vincent

    Please try this information,To Make vertical scroll bar darker

    Control Panel
    Display
    Appearance
    Advanced
    Item: 3D Objects Color 1: <-darker colour->
    Item: Scrollbar Size: <-larger size->

    I hope this information will be usefull for you.
    Thank You.


Log in to reply