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 » Getting started and other questions Collapse All
Subject Author Date
jon steer Aug 1, 2005 - 3:27 PM

I was originally drawn to this class library because of the many features of the library such as the
Status Bar, PageNavigator Window, drop down-button and dynamic control bar with resizable dialogs within them.
The UI persistence will hopefully be a big timesaver.


I’m am trying to write an SDI application with the following UI elements

A status bar with icons, slider control and a timer control.

A control bar with a single edit box and multiple dynamic buttons.
The edit box has autocompletion. The control bar looks much like a firefox/IE control where the URL is typed in.
The buttons on the control bar will be multi-state buttons with dropdowns.

A CExtPageNavigatorWnd with 6 segments. Each segment contains hyperlinks.

A tabbed area with multiple control bars in the tabs.
Each one of these control bars just has a single multi-line scrolling read-only text box.
These text boxes will contain real-time text logging so they need to be fairly quick.


The application would look like

The PageNavigation Window on the left.
The URL entry bar across the upper part of the window
Two or Three dynamic control bars with resizable dialogs within them on the lower right.
The rest of the client area would have the tabbed area.
The status bar across the bottom.

After looking at the examples such as PageNavigator, PageContainer, SDI_Dynamic, Fixed Sized Panels and attempting to generate my own initial prototype apps
I have the following questions to help me get started.

1. It appears that none of the usages of CExtPageNavigatorWnd use a MDI or SDI based app? Is this true?
Does this mean I can’t use the solution wizard to start the app off?

2. Should I be using the edit control or combo-box for autocompletion?

3. I really need to have the multi-line edit box do things like fast scrolling for real-time logging. I had intended to use some of the classes from ’
the codeproject. Am I limited to either using the ProUI edit boxes within the resizable dialogs or can I extend them using the codeproject classes?


any other examples, or pointers to other examples I should look at are greatly appreciated.

thanks,
jon

Technical Support Aug 2, 2005 - 6:57 AM

Dear Jon,

We are happy to answer the above and other questions.

1. The CExtPageNavigatorWnd control can be used anywhere you want: in MDI or SDI applications and even in dialogs. It’s just a window which can be created as a child of any other window. To create the page navigator as you want you can follow two ways.

First, you can create a splitter window and then create the page navigator as a child of one of its pane. This approach is used in the PageNavigator sample.

Alternatevely, you can create a simple control bar without a gripper (CBRS_GRIPPER), and dock it with the left side of the frame. The following CExtControlBar-derived class can be used for this task:

    class CDocumentBar : public CExtControlBar
    {
    public:
        virtual void FloatControlBar(
            CPoint ptFloat,
            DWORD dwStyle = CBRS_ALIGN_TOP
            )
        {
        }
    protected:
        virtual void _DraggingStart(
            const CPoint & point,
            const CPoint & pointOffset = CPoint( 0, 0 ),
            CSize sizeWaitMouseMove = CSize( 1, 1 )
            )
        {
        }
        virtual bool _IsShowContentWhenRowResizing() const
        {
            return true;
        }
};
Then create a page navigator control as a child of the control bar:
    CExtPageNavigatorWnd m_wndDocumentNavigator;
 
    ...
 
    if( !m_wndDocumentBar.Create(
            NULL,
            this,
            ID_VIEW_DOCUMENT_NAVIGATOR,
            WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS
            | CBRS_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC
            | CBRS_HIDE_INPLACE
            )
        )
    {
        TRACE0("Failed to create m_wndDocumentBar\n");
        return -1;
    }
    m_wndDocumentBar.m_bAppearInDockSiteControlBarPopupMenu = false;
 
    ...
 
 
m_wndDocumentNavigator.Create( &m_wndDocumentBar );

2. Autocompletion is available in CExtComboBox, so we recommend you use this control.

3. You are not limited to use only Prof-UIS controls. You can certainly use your own controls, ActiveX controls or controls from any third-party library.

In Prof-UIS there many samples that can be of great help. If you encounter any difficulties, do not hesitate to contact us -- we always help our customers.