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 » Applying Prof UI skins simultaneously on several dialog boxes within an application Collapse All
Subject Author Date
howard liu Dec 18, 2007 - 2:26 AM

Hi,

The application on which i work is built using MFC (7.1) has many user interfaces and dialog boxes (in several hundreds).There are chains of dialog boxes one leading to another dialog box. Making code updations to each of these interfaces and dialog boxes to apply Prof UI skins is a tedious process. Do you suggest a more easier procedure (global approach) to apply Prof UI skins on several of these dialog boxes that this application hosts.

Thanks

Technical Support Dec 20, 2007 - 11:12 AM

Unfortunately we have no similar function for automatic subclassing all the windows which appear at your application’s run time. Besides, Prof-UIS does not contain extensions of some common controls like a tree view and a list view but provides its own tree grid, plain grid and report grid instead. So, generally, even if we provided some global subclassing feature like you requested, it would not replace absolutely all controls.

Technical Support Dec 18, 2007 - 12:29 PM

To make windows skinable, you should use Prof-UIS classes. You can switch from classes like CButton, CComboBox, CDialog to CExtButton, CExtComboBox, CExtResizableDialog step by step. All the dialog classes should be derived from CExtResizableDialog and all the controls on each dialog box should be subclassed with CExt*** classes. If you have a dialog with 15 controls on it and only 3 buttons on it are subclassed with CButton variables, then you should do the following:

1) Use CExtResizableDialog as the base class for your dialog instead of CDialog.

2) Use CExtButton instead of CButton for all 3 buttons.

3) Subclass all controls with Prof-UIS CExt*** classes. You can avoid creation of 12 additional member variables in your dialog class for all the dialog controls. You should simply invoke the SetAutoSubclassChildControls() method in the constructor of your dialog class.

howard liu Dec 19, 2007 - 1:58 AM

Thanks for this reply. Actually we were not awrae of SetAutoSubclassChildControls() method.

As a further point i would would request another clarification

Like what you have explained for a dialog/dialog class, is there a similar procedure for the applying skins globally to a Mainframework. What i mean by mainframe is the main user interface that hosts titlebar, toolbars, dropdown menus, list controls and treeviews and the status bar.
That is, by just invoking a method with the Mainframework, its items like toolbars, dropdown menus, and list controls should get skinned by prof UI skins. Is there a universal invoking method for this

Thanks
Ranga