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 » CExtTabWnd Tablist background Collapse All
Subject Author Date
Dirk lindner Apr 29, 2009 - 1:55 AM

Hello,
i habe CExtResizeableDialog with a CExtTabWnd,
i have to rsize it to the client with.


If i use the following code:
virtual void OnTabWndEraseClientArea(
                        CDC & dc,
                        CRect & rcClient,
                        CRect & rcTabItemsArea,
                        CRect & rcTabNearBorderArea,
                        DWORD dwOrientation,
                        bool bGroupedMode
)
{
    ASSERT_VALID( this );
    ASSERT( dc.GetSafeHdc() != NULL );
    rcTabItemsArea = rcClient;
    rcTabItemsArea.DeflateRect(7,0,7,0);
    PmBridge_GetPM()->PaintTabbedTabClientArea(
                        dc,
                        rcClient,
                        rcTabItemsArea,
                        rcTabNearBorderArea,
                        dwOrientation,
                        bGroupedMode,
                        this
    );
}
it apears like


The Background of the tablist buttons is transparent.
Can you tell me the way how to make the left an right buttons non transparent ?

Thanks Dirk Lindner



Technical Support Apr 30, 2009 - 8:37 AM

The way of painting tab background demonstrated in your message is incorrect. If you need to implement custom layout inside the tab window, then you should code your version of the CExtTabWnd::_RecalcLayoutImpl() internal virtual method. You can just copy source code from original method and change what you need. The m_rcTabItemsArea rectangle is computed in this method and it defines the area which is occupied by tab items.