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 » Can I apply skin to CFormView? Collapse All
Subject Author Date
delu qiu May 3, 2006 - 3:46 PM

Hi,

Just want to know is there any sample project demonstrate how to apply skin to CFormView? I put the formview into the CMDIFrameWnd
and if I can apply skin to my owner-draw CTabCtrl? I did repaint for the tab control.

Thanks

Technical Support May 5, 2006 - 11:32 AM

First of all, you need to make your form look consistent with the currently applied theme. This is described in the FAQ How to make CFormView to be look and act like CExtResizableDialog?. After that, the skin background will automatically be applied to your form view.

Prof-UIS provides a tab page container control implemented in the CExtTabPageContainerWnd class (the derived classes are CExtTabPageContainerOneNoteWnd, CExtTabPageContainerWhidbeyWnd and CExtTabPageContainerFlatWnd). This control is a container for several page windows (usually dialogs) and it uses the Prof-UIS tab window for switching the active page window. You can find it in the TabPages and ProfUIS_Controls samples. So, just use the tab page container instead of CTabCtrl. The CTabCtrl control is incompatible with Prof-UIS themes. It is just a wrapper around the tab common control. And the CExtTabPageContainerWnd class is written from scratch and provides many useful features including support for themes skins.

delu qiu May 5, 2006 - 12:45 PM

Thank you for your reply,

I have create a class CLeftTab which derived from CTabCtrl, and use ModifyStyle() to make the tabs position at left side, meantime the tab title is still keep horizontal orientation, and I put this control and some button into my CMainView which derived from CFormView.
In addition, I re-paint CMainView and CLeftTab.


I got a problem after I apply AQUA style skin:
CExtButton with AQUA style has a beautiful round corner, As I have to re-paint CMainView and CLeftTab, the CExtButton with AQUA style display with blemish outside of the round corner, I mean it no match the owner-drawed background of CMainView or CLeftTab.
Can I remove the blemish outside of the round corner?

Is there any CExtTabxxxx support left side tab with horizontal orientation title?

Can I just keep my MFC derived class and write hybrid code?

delu qiu May 5, 2006 - 3:30 PM

I use PatternBrush to paint my CLeftTab’s background with AQUA pattern, now the CExtButton looks comfortable with the container.

Technical Support May 6, 2006 - 9:27 AM

We believe it is possible to code everything, but it would be much easier to use the CExtTabWnd class instead of CTabCtrl. The skinable paint manager does more than simply re-painting the background and tab items. It affects the layout of our tab window including margins of tab items and tab window. We do not see any reason to stick to the CTabCtrl class. Besides, the CExtTabPageContainerWnd class is a ready-to-use tab page container which features the CExtTabWnd window inside and manages tabbed switching between pages. So, you can use our tab window both independently and as part of the tab page container.