我只是尝试了将CToolbar添加到新CMFCToolBar上的对话框的标准方法。但这是行不通的。在我进入新的实现之前,我想知道是否真的可能?
最佳答案
我不确定您所说的“标准方式”是什么意思,但是您当然可以通过编程来做到这一点:
// 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 );
}
...
}