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 » Dock Control bar covers the whole area Collapse All
Subject Author Date
MUKESH GUPTA Jul 18, 2011 - 6:28 AM


I have multiple control bars in my SDI application.
When I try to move a control bar and place it over a dock placement pointer (bottom), the indicative docking position is shown correctly, but when I drop the control bar on that pointer it cover in the whole window including the client area (excluding other control bars). Could you please suggest possible reason for the mentioned behavior and a possible fix for the same?

Thanks in advance.

MUKESH GUPTA Jul 29, 2011 - 12:40 AM

I have seen another issue similar to the mentioned previously.

As per above image, if I try to dock bar C, while placing it on docking pointer, the bar gets displayed in the area A but on dropping the bar it gets docked in the area B. Please suggest.

Technical Support Jul 29, 2011 - 11:38 AM

A is outer area. B is inner area. You should use the CExtControlBar::DockControlBarInnerOuter() API with bInner parameter set to false if you need to dock bar into A.

Technical Support Jul 22, 2011 - 1:13 PM

We need to know how to reproduce the issue by using any of sample applications that come with Prof-UIS. This should a step-by-step instruction. This would let us avoid wrong guesses. For instance, you can dock some bar to the right side, resize it and make it as wide as possible, hide it, dock several other bars to the right and, finally show the first wide bar. It’s probably there is not enough room for the wide bar now. The CExtControlBar::stat_CompressFrameLayout() method fixes this situation. You can create your CExtControlBar class, override the CExtControlBar::OnControlBarPositionChange() virtual method to catch control bar position changing and invoke the CExtControlBar::stat_CompressFrameLayout() API from it when the eCBPC parameter is set to __ECBPC_REDOCKING. This means your app will optimize mutual bar sizes after you redock a bar.

Technical Support Jul 18, 2011 - 12:03 PM

This may be caused by specifying big width/height values when invoking the CExtControlBar::SetInitDesiredSizeHorizontal() and/or CExtControlBar::SetInitDesiredSizeVertical() methods. You can make the main frame larger and resize a docked bar to a smaller size. It will remember the new smaller size. The CExtControlBar::stat_CompressFrameLayout() automatically makes all the bars smaller when needed.

MUKESH GUPTA Jul 22, 2011 - 5:02 AM

I have not specified big values for width/height values when invoking the CExtControlBar::SetInitDesiredSizeHorizontal()
Are there any more things I can check to figure out the issue? Also, could you please provide more details on CExtControlBar::stat_CompressFrameLayout()