Professional UI Solutions
Site Map   /  Register


Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » AutoHide question Collapse All
Subject Author Date
tera tera Jan 29, 2009 - 3:28 AM


When even if there was a focus to a docking bar, mouse cursor deviated from the red area,

I want to do AutoHide of a bar.


Technical Support Jan 29, 2009 - 12:45 PM

You should run a timer in the window created inside a control bar. If the bar is in the auto hide mode, then its child window is moved into CExtDynAutoHideSlider window. I.e. invoking child’s CWnd::GetParent() method will return pointer to the CExtDynAutoHideSlider window - not to the CExtControlBar window. You can simply send the WM_CANCELMODE message to the CExtDynAutoHideSlider window for hiding it.

Jeremy Richards Jan 29, 2009 - 7:48 AM

It the question how to force the hide or to detect when do perform the hide? 

You can detect when to perform the hide easily enough with either WM_MOUSELEAVE, or a timer which periodically calls GetCursorPos().

As to how to force the window to hide, I am not sure.  I think it is described in the documentation somewhere.  You may need to move the focus first.