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 » CExtControlBar Collapse All
Subject Author Date
Sergio Buonanno Nov 21, 2008 - 8:27 AM

Is there any event or method by which I can verify if a child window placed inside a docked CExtControlBar is displaied or in the background (for example inside a non active TAB or hidden when the auto-hide flag is set). I tried to use IsWindowVisible, but if the child window is inside an inactive tab’s page IsWindowVisible returns true.


Technical Support Nov 21, 2008 - 9:36 AM

You should override the CExtControlBar::OnControlBarPositionChange() virtual method. The CControlBar::IsVisible() determines if a control bar is visible. The non-selected bars in a tabbed bar group are also visible. You can use a CExtControlBar::_GetNearestTabbedContainer() container for detecting whether a bar is in a tabbed group. This method returns a CExtDynTabControlBar* pointer to a tabbed bar group or NULL if tge bar is not in the group. You need to use the #include <../Src/ExtControlBarTabbedFeatures.h> include so that you can invoke the CExtDynTabControlBar class methods. The CExtDynTabControlBar::GetSwitcherSelection() returns an index of the selected tab item. The CExtDynTabControlBar::GetBarAt() returns a CExtControlBar* pointer to the bar inside the tabbed group. So, you can determine whether a bar is selected in a tabbed bar group.