是否可以将 CMFCToolBar 添加到对话框中?

2022-01-12 00:00:00 visual-c++ c++ mfc mfc-feature-pack

我刚刚尝试了将 CToolbar 添加到新 CMFCToolBar 上的对话框的标准方法.但它不起作用.在我进入新的实现之前,我想知道它是否真的可能?

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

推荐答案

我不确定您所说的标准方式"是什么意思,但您当然可以通过编程方式实现:

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 );
    }
...
}

相关文章