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 » How to prevent resizing after multiple docking? Collapse All
Subject Author Date
Chun Pong Lau Jul 21, 2008 - 4:38 AM

Dear support team,

I’ve found that after I perform DockControlBarInnerOuter() or DockControlBar() on a docked control bar multiple times,

the control bars will be resized.

What can I do to prevent this?

Should I reset or check the docking status first before any docking?

But how do we check the docking status? like

AFX_IDW_DOCKBAR_LEFT, AFX_IDW_DOCKBAR_RIGHT, AFX_IDW_DOCKBAR_TOP, or AFX_IDW_DOCKBAR_BOTTOM and the nested relationship between all control bar made up by all docking functions, like DockControlBarInnerOuter(), DockControlBar(), DockControlBarIntoTabbedContainer() and DockControlBarLTRB()?


Chun Pong

Technical Support Jul 23, 2008 - 11:37 AM

Please note that the CExtControlBar::DockControlBar() method in Prof-UIS is used only for compatibility with very old Prof-UIS versions. You should use the CExtControlBar::DockControlBarInnerOuter() and CExtControlBar::DockControlBarLTRB() methods instead. The CExtControlBar::SetInitDesiredSizeHorizontal() and CExtControlBar::SetInitDesiredSizeVertical() methods can be used either during control bar initialization and later at run-time. These methods allow you to specify desired control bar sizes and then invoke the CFrameWnd::RecalcLayout() method for applying the changes. Each resizable control bar remembers it’s docked sizes. If some resizable bar has a 300 pixels width in its vertically docked location and you re-dock it into one 200-pixel width column with other bar(s), the desired width of the re-docked bar becomes 200 pixels. So, in most cases there is reason to limit the size of control bars.