Most child windows in OWLNext have smooth scrolling - when the user is draggig the thumb, the contents of the window scroll immediately. In some windows, like TEdit, this is done by the underlying native Windows control, in other cusomt windows, like in the TScroller example it is done with a TScroller object with the TrackMode member set to true (default).
Now, I am trying to achieve the same effect in an MDI client window. If the window is resized so that the MDI children do not fit in the client area and there are scrollers, when dragging the scroll thumbs, the children are not scrolled untill the thumb is released. This is reproducible in all MDI based examples - RichEdit, the new Classes collection, OWLMaker, etc.
I tried to implement the smooth scrolling, but could not find any easy way to do it. Maybe I am missing something obvious? Adding a TScroller to the MDI client is not enough, as then I will have to manage the scroller X and Y ranges on every child or parent window resize (and on creating and destroying the children).
Anyone have encountered this issues?
Jogy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2018-06-11
Hi Jogy,
the native scrollbar sizes are adjusted on mosue moves (over the bars). This indicates that these scrollers are managed just the way you described.
Erwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Or to be more precise: There seems to be no dircet connection between MDI and scroling. Only after some scrolling action is starting, the MDIChild positions and sizes are are evaluated.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Most child windows in OWLNext have smooth scrolling - when the user is draggig the thumb, the contents of the window scroll immediately. In some windows, like TEdit, this is done by the underlying native Windows control, in other cusomt windows, like in the TScroller example it is done with a TScroller object with the TrackMode member set to true (default).
Now, I am trying to achieve the same effect in an MDI client window. If the window is resized so that the MDI children do not fit in the client area and there are scrollers, when dragging the scroll thumbs, the children are not scrolled untill the thumb is released. This is reproducible in all MDI based examples - RichEdit, the new Classes collection, OWLMaker, etc.
I tried to implement the smooth scrolling, but could not find any easy way to do it. Maybe I am missing something obvious? Adding a TScroller to the MDI client is not enough, as then I will have to manage the scroller X and Y ranges on every child or parent window resize (and on creating and destroying the children).
Anyone have encountered this issues?
Jogy
Hi Jogy,
the native scrollbar sizes are adjusted on mosue moves (over the bars). This indicates that these scrollers are managed just the way you described.
Erwin
Or to be more precise: There seems to be no dircet connection between MDI and scroling. Only after some scrolling action is starting, the MDIChild positions and sizes are are evaluated.
This has now been implemented. See "TMDIClient scrolling enhancements" [feature-requests:#238].
Related
Feature Requests: #238