Professional UI Solutions
Site Map   /  Register
 
 

Forum

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 General Discussion » Shrinking CExtControlBar size when toggling visibility Collapse All
Subject Author Date
Dave Kymlicka Mar 14, 2005 - 8:19 PM

When I dock 2 or more CExtControlBar together along the same edge (aka docking ring?) such that they must share the available space along the edge:

*********************|
|............|.....................|
| Bar A ..|.....................|
|............|. MDI Client ...|
|*******|.....................|
|............|.....................|
| Bar B ..|.....................|
|............|.....................|
|********************|

and I toggle visibility (on/off/on), with any of them, I get the following problems:

1. The "close" and "pin" buttons are drawn on top of each other (autohide is enabled using CExtControlBar::FrameInjectAutoHideAreas(this) in MainFrame::OnCreate()).
Buttons will correctly redraw later (mouse hover over buttons, manually resize the controlBar, put focus on another application, etc)

2. The size of the control bar shrinks by half. If I continue toggling visibility, the size will continue to shrink until nothing is left but its title.

*********************|
| Bar A ..|.....................|
|*******|.....................|
|............|.....................|
|............|. MDI Client ...|
|............|.....................|
| Bar B ..|.....................|
|............|.....................|
|********************|

Unfortunately, I can’t reproduce this scenario with your examples.
I am not overriding CalcDynamicLayout(), CalcFixedLayout(), or OnSize().
Doesnt matter which visual theme I use, same results (tried CExtPaintManager, CExtPaintManagerStudio2005, CExtPaintManagerXP).

I would greatly appreciate any suggestions/guesses you could offer.

Technical Support Mar 15, 2005 - 5:39 AM

Please make sure you are using only DockControlBarInnerOuter() and DockControlBarLTRB() methods of your resizable control bars to set their initial positions. Of course, you can send us the source code of your CMainFrame::OnCreate() method so that we clarify the problem. As for the delayed painting of caption buttons in resizable control bars, we need some more details. Does this problem exist in any of Prof-UIS sample applications?