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.