c++visual-c++mfcmfc-feature-pack

Is it possible to add CMFCToolBar to a dialog?


I just tryed the standard way for adding CToolbar to a dialog on the new CMFCToolBar. But it doesn't work. Before I dip into the new implementation, I want to know if it actually possible?


Solution

  • I'm not sure what you mean by "the standard way", but you can certainly do it programatically:

    // In MyDlg.h
    class CMyDlg : public CDialog
    {
    ...
        CMFCToolBar m_ToolBar;
    ...
    };
    
    // In MyDlg.cpp
    BOOL CMyDlg::OnInitDialog()
    {
    ...
        if( m_ToolBar.Create( this, AFX_DEFAULT_TOOLBAR_STYLE, 100 ) )
        {
            m_ToolBar.SetPaneStyle( m_ToolBar.GetPaneStyle() 
                & ~(CBRS_GRIPPER | CBRS_SIZE_DYNAMIC | CBRS_BORDER_ANY) );
    
            m_ToolBar.InsertButton( CMFCToolBarButton( ID_APP_ABOUT, -1, _T("About") ) );
            m_ToolBar.InsertButton( CMFCToolBarButton( ID_APP_EXIT, -1, _T("Exit") ) );
    
            CSize   sizeToolBar = m_ToolBar.CalcFixedLayout( FALSE, TRUE );
            m_ToolBar.SetWindowPos( NULL, 0, 0, sizeToolBar.cx, sizeToolBar.cy,
                SWP_NOACTIVATE | SWP_NOZORDER );
        }
    ...
    }