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 » New project Collapse All
Subject Author Date
Rado Manzela May 18, 2010 - 6:45 AM

I’m starting new project and I need just quick advice which prof-uis classes are best to use. Program will have main window which contains some tabs filling whole area. Each tab should contain some dialog content.

Is it good idea to use CExtResizableDialog for main window and all dialogs inside tab?

Or is it better to start SDI project with main frame containing one child (CExtTabPageContainerWnd) where each child dialog would be derived from public CExtWA < CExtWS < CExtAFV < CFormView > > > ?

Some dialogs will contain grids and other controls which should resize with changing of main window size (making the window BIGGER than defined in resources). But some dialogs can be quite long so when it cannot fit into current window size (window is smaller than dialog defined in resources) there should be scroll bars to access whole dialog. Is this even possible to do in prof-uis?

Thank you.

Technical Support May 18, 2010 - 11:52 AM

We would prefer to use the SDI project style with the CExtTabPageContainerWnd window created as the main SDI view window using the AFX_IDW_PANE_FIRST dialog control identifier. You can create and insert the CExtResizableDialog windows as tab pages. These dialog should have child / resizable / visible type and both clip siblings / clip children options set on in the dialog template resource’s properties. If you need some or all the dialogs to be automatically scrollable when the tab page size is less than the initial dialog size, then such tab pages should be created using two windows:

- First is the CExtScrollContainerWnd scrollable container window. You should create it with the WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN|WS_CLIPSIBLINGS styles. It should be created as child of the CExtTabPageContainerWnd window.

- Then you should create the CExtResizableDialog dialog window as child of the CExtScrollContainerWnd window.

- Finally, you should register the CExtScrollContainerWnd window as tab page using the CExtTabPageContainerWnd::PageInsert() method.

We recommend you to use the WS_CLIPCHILDREN|WS_CLIPSIBLINGS window styles everywhere inside the main frame window, including the CExtTabPageContainerWnd window.

Rado Manzela May 19, 2010 - 1:49 AM

Thank you very much for advice.