在对话框上加工具条(vs2005)

1、添加变量:CToolBar m_wndToolBar;

2、生成工具条

BOOL CfDemoDlg::OnInitDialog()

{



      if (!m_wndToolBar.CreateEx( this,TBSTYLE_LIST ,  WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP | CBRS_GRIPPER | 



             CBRS_TOOLTIPS  ,CRect(4,4,0,0)) || !m_wndToolBar.LoadToolBar(IDR_TOOLBAR2) )



     {

             return FALSE;

     }



    m_wndToolBar.ShowWindow(SW_SHOW);

    RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);



 



   m_ImageList.Create(32,32,ILC_COLOR32|ILC_MASK,1,1);

 

   for(int i=0;i<9;i++)

   {

     m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1+i));

   }

   m_wndToolBar.SetButtonText(0,_T("添加")); 

   m_wndToolBar.SetButtonText(1,_T("批量")); 

   m_wndToolBar.SetButtonText(2,_T("删除")); 

   m_wndToolBar.SetButtonText(3,_T("清空")); 

   m_wndToolBar.SetButtonText(4,_T("上移")); 

   m_wndToolBar.SetButtonText(5,_T("下移")); 

   m_wndToolBar.SetButtonText(6,_T("开始")); 

   m_wndToolBar.SetButtonText(7,_T("主页")); 

   m_wndToolBar.GetToolBarCtrl().SetImageList(&m_ImageList);

   m_wndToolBar.GetToolBarCtrl().SetButtonWidth(30,50); 

   m_wndToolBar.SetSizes(CSize(70,35),CSize(32,28));//设置大小;



} 



3、消息响应

在vs2005中,似乎不能像vc6那样响应自定义工具条的消息,所以自己响应了一下:

void OnBnClickedToolBar1(UINT nID);//添加函数



ON_COMMAND_RANGE(ID_ADD_FILE, ID_HOME, OnBnClickedToolBar)//添加工具条消息映射



void CImageToPdfDemoDlg::OnBnClickedToolBar1(UINT nID)//函数实现

{

 int nIndex = nID - ID_ADD_FILE;



 switch(nIndex)

 {

  case 0:

   OnAddFile();

   break;

  case 1:

   OnAddFolder();

   break;

  case 2:

   OnListDelete();

   break;

  case 3:

   OnListClear();

   break;

  case 4:

   OnUp();

   break;

  case 5:

   OnDown();

   break;

  case 6:

   OnConvert();

   break;

  case 7:

   OnHome();

   break;

  default:;



}



}

你可能感兴趣的:(对话框)