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 Tech Support » CExtTabWnd question Collapse All
Subject Author Date
David Skok May 29, 2008 - 8:40 AM

In certain cases CExtTabWnd controls in my app will not have any tabs to start with.   Where can I override the empty tab painting so that I may put a text message in its place.


Thanks, Dave

David Skok Jun 2, 2008 - 7:48 AM

You misunderstand.   The  message is to be displayed only  if there are no tabs or no visible tabs.  The empty client space would  contain text  such as "No tabs inserted  yet."




This message would be similar to the one displayed in empty grids, overridable to customize.


Dave

Technical Support Jun 2, 2008 - 11:58 AM

You should implement the CExtTabWnd::OnTabWndEraseClientArea() virtual method. The method should call the parent class’s method and use the rcTabItemsArea parameter for painting text if no tab items are available.

Technical Support May 29, 2008 - 11:48 AM

You can implement the CExtTabWnd::OnTabWndDrawItem() virtual method and not invoke the parent class method if you want to hide tab items. But the tab items will exist and be still selectable what is not good because you need to implement several additional virtual methods. The better solution would be to apply the __ETWI_INVISIBLE style by invoking the CExtTabWnd::TAB_ITEM_INFO::ModifyItemStyle() method to all tab items which you want to hide. You can get a pointer to the CExtTabWnd::TAB_ITEM_INFO data object describing the tab item by using the CExtTabWnd::ItemGet() method.