6.1--如何在主框架窗口或者视图的框架窗口加入一个或多个工具栏?

来源:互联网 发布:五年级简便算法公式 编辑:程序博客网 时间:2024/05/22 03:46

      下面的步骤解释了如何为应用程序的框架窗口添加一个新的工具栏。这些说明即可用于应用程序的主框架窗口又可用于任何一个视图的框架窗口。

 

第一步:使用Visual C++资源编辑器创建一个工具栏资源,其ID为IDR_NEW_TOOLBAR;

 

第二步:在欲加入工具栏的框架窗口类内加入一个CToolBar类型的成员变量,如下:

CToolBar    m_wndTBdemo;

 

第三步:如果框架窗口还没有WM_CREATE消息句柄,则使用ClassWizard增加该消息的消息处理函数。

 

第四步:修改OnCreate()函数来正确创建工具栏、装载工具栏资源、设置风格和停靠属性,并确定工具栏最初是显示停靠还是浮动。

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{


      if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
            return -1;

 

      //1、创建新的工具栏窗口

      if( !m_wndTBdemo.Create(this,WS_CHILD | WS_VISIBLE | CBRS_TOP,IDR_NEW_TOOLBAR) ||

                                           !m_wndTBdemo.LoadToolBar(IDR_NEW_TOOLBAR) )

      {

             TRACE0("Failed to create new Toolbar!/n");

             Return -1;

      }

      //2、定义框架窗口停靠行为

       EnableDocking(CBRS_ALIGN_ANY);//框架窗口可以被任意停靠

      //3、定义新工具栏的风格

      m_wndTBDemo.SetBarStyle( m_wndTBDemo.GetBarStyle() | CBRS_TOOLTIPS

                                                                                          | CBRS_FLYBY |   CBRS_SIZE_DYNAMIC);

 

      //4、定义新工具栏的停靠行为

      m_wndTBdemo.EnableDocking( CBRS_ALIGN_ANY );

 

     5、使新的工具栏最初显示为停靠

     DockControlBar(&m_wndTBdemo , AFX_IDW_DOCKBAR_LEFT);
     //FloatControlBar();使它显示为浮动

 

      return 0;
}