Menu

#238 TMDIClient scrolling enhancements

8
pending
GUI (32)
1
2023-10-13
2023-10-13
No

Currently, the mouse wheel is not operational for scrolling the MDI client area. Also, the scrollbars do not implement thumb tracking; i.e. when dragging the scrollbar thumb, the client area remains static and is not scrolled until the mouse button is released.

It would be nice to have mouse wheel support for scrolling, both horizontally and vertically (when using the vertical scroll wheel, holding down Shift should scroll horizontally, like e.g. in Visual Studio). And it would be nice to have scrollbar thumb tracking, as well.

See [discussion:c9dc7a124b].

Related

Discussion: c9dc7a124b
Discussion: Scrolling a TMDIClient window with the mouse wheel
Discussion: TMDIClient scrolling
Wiki: OWLNext_Roadmap_and_Prereleases

Discussion

  • Vidar Hasfjord

    Vidar Hasfjord - 2023-10-13
    • status: open --> pending
     
  • Vidar Hasfjord

    Vidar Hasfjord - 2023-10-13

    This feature has been implemented on the trunk [r6687] and merged into Owlet [r6688].

     

    Related

    Commit: [r6687]
    Commit: [r6688]

  • Erwin Lotter

    Erwin Lotter - 2023-10-13

    What about using Control to scroll pages? (Or Shift for pages and Control for horizontal scrolling?)

     
  • Vidar Hasfjord

    Vidar Hasfjord - 2023-10-13

    @elotter wrote:

    What about using Control to scroll pages? (Or Shift for pages and Control for horizontal scrolling?)

    Shift + mouse wheel is sometimes used for horizontal scrolling, e.g. in Visual Studio, as mentioned. Control + mouse wheel is very commonly used for zoom, including in Visual Studio, browsers and Windows built-in apps, such as Notepad, WordPad and File Explorer.

    So, I think use of Control is best left to the user application. Implementing page scrolling using Control in your application should be pretty simple, since you can use pretty much the same code as TMDIClient.

    Edit: By the way, regarding the scrolling amount, an improvement to the code would be to make the amount of scrolling depend on the absolute value of the zDelta parameter of the scroll wheel message. See implementation of TWindow::EvMouseWheel.

     

    Last edit: Vidar Hasfjord 2023-10-13

Anonymous
Anonymous

Add attachments
Cancel