Community
    • Login

    Make vertical scroll bar darker

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    18 Posts 4 Posters 1.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • EkopalypseE
      Ekopalypse
      last edited by

      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 … ??

      1 Reply Last reply Reply Quote 1
      • Alan KilbornA
        Alan Kilborn @Michael Vincent
        last edited by

        @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. :-)

        EkopalypseE Michael VincentM 2 Replies Last reply Reply Quote 1
        • EkopalypseE
          Ekopalypse
          last edited by

          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
          
          1 Reply Last reply Reply Quote 1
          • EkopalypseE
            Ekopalypse @Alan Kilborn
            last edited by

            @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

            Alan KilbornA 1 Reply Last reply Reply Quote 2
            • Alan KilbornA
              Alan Kilborn @Ekopalypse
              last edited by

              @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. :-)

              1 Reply Last reply Reply Quote 2
              • Michael VincentM
                Michael Vincent @Alan Kilborn
                last edited by

                @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.

                Alan KilbornA 1 Reply Last reply Reply Quote 3
                • Alan KilbornA
                  Alan Kilborn @Michael Vincent
                  last edited by

                  @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.

                  EkopalypseE 1 Reply Last reply Reply Quote 3
                  • EkopalypseE
                    Ekopalypse @Alan Kilborn
                    last edited by

                    @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 :-)

                    EkopalypseE 1 Reply Last reply Reply Quote 4
                    • EkopalypseE
                      Ekopalypse @Ekopalypse
                      last edited by

                      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?

                      1 Reply Last reply Reply Quote 1
                      • EkopalypseE
                        Ekopalypse
                        last edited by

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

                        1 Reply Last reply Reply Quote 1
                        • EkopalypseE
                          Ekopalypse
                          last edited by

                          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.

                          Michael VincentM 1 Reply Last reply Reply Quote 1
                          • Michael VincentM
                            Michael Vincent @Ekopalypse
                            last edited by

                            @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.

                            EkopalypseE 1 Reply Last reply Reply Quote 2
                            • EkopalypseE
                              Ekopalypse @Michael Vincent
                              last edited by

                              @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 :-)

                              1 Reply Last reply Reply Quote 1
                              • Makwana PrahladM
                                Makwana Prahlad Banned
                                last edited by

                                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.

                                1 Reply Last reply Reply Quote 1
                                • First post
                                  Last post
                                The Community of users of the Notepad++ text editor.
                                Powered by NodeBB | Contributors