View Issue Details

IDProjectCategoryView StatusLast Update
0001601JEDI VCL00 JVCL Componentspublic2004-04-22 23:30
ReporteranonymousAssigned Touser72 
PrioritynormalSeverityfeatureReproducibilityalways
Status resolvedResolutionfixed 
Product Version 
Target VersionFixed in Version 
Summary0001601: Windows which are docked in AutoHide mode are shown o fast
DescriptionIf you have a windows docked in auto hide mode (vsnet dock style), and you move the mouse over the small tab, the docked window immidiately pops out.
However, the docking in PlatformSDK and MSDN waits a small amount of time, or pops out if the user clicks (just like menu items do in a menu).
TagsNo tags attached.

Activities

user72

2004-04-10 00:26

  ~0003775

Please check the sources and provide a suggestion on how to solve it to speed up fixing this issue. Prefereably, it should be configurable.

2004-04-15 06:26

 

JvDockVSNetStyle.zip (16,037 bytes)

user72

2004-04-15 06:28

  ~0003874

Try the attached unit. It sets an initial delay before showing the docked form.

IMO it looks yucky because the currently visible dock form just jumps out of view (this isn't as noticeable when the new form is opened without delay) but maybe this could serve as a starting point for your own experimentations.

I will not spend any more time on this issue unless you (or anyone else) can provide me with something that works better than the current implementation.

miracle2k

2004-04-22 07:17

reporter   ~0004006

It will not work the way you began it, because as it is now, the form will popup 400 millisec. after you moved the mouse over the pane, regardless what happens then. But the sense of this is, that it should *not* popup, if the mouse is not anymore above that pane after the timeout.

Have a look at the attached unit - this works for me. A timer object will be created in TJvDockVSChannel.MouseMove(), instead of directly showing the form, which now happens in the onTimer Event Handler of the timer object, and only if the pane under the mouse is the same as it was in MouseMove() (the pane is stored in the Tag property of the timer object).

Maybe it would be better to directly use the WinAPI instead of a TTimer, but I was to lazy to look up the details and it seems to work this way.

I also modified MouseDown() to make the form popup immediately if the user clicks in the pane.

2004-04-22 07:18

 

JvDockVSNetStyle_2.zip (16,423 bytes)

user72

2004-04-22 09:00

  ~0004012

Nice work! I'll test it a bit and commit if I don't find any issues

user72

2004-04-22 23:30

  ~0004016

Updated in CVS. Thank you!

Issue History

Date Modified Username Field Change
2004-04-08 00:31 anonymous New Issue
2004-04-10 00:26 user72 Note Added: 0003775
2004-04-14 04:48 user72 Status new => feedback
2004-04-15 06:26 user72 File Added: JvDockVSNetStyle.zip
2004-04-15 06:28 user72 Note Added: 0003874
2004-04-22 07:17 miracle2k Note Added: 0004006
2004-04-22 07:18 miracle2k File Added: JvDockVSNetStyle_2.zip
2004-04-22 09:00 user72 Note Added: 0004012
2004-04-22 23:30 user72 Status feedback => resolved
2004-04-22 23:30 user72 Resolution open => fixed
2004-04-22 23:30 user72 Assigned To => user72
2004-04-22 23:30 user72 Note Added: 0004016