动态建立工具栏

动态创建工具栏
1: 先建立CToolBar的对象,利用CToolBar的Create()方法创建工具栏窗口
2:调用SetButtons()方法添加工具栏按钮
3:调用SetSizes()方法设置按钮和图像按钮大小
4:调用SetButtonText()方法设置工具条按钮文本
5:利用GetToolBarCtrl()方法获取工具栏对象,然后调用SetImageList()设置图像列表
6:调用RepositionBars()方法排列控制条,以显示工具栏

示例:
现在对话框中定义
 CToolBar m_toolbar;
CImageList  m_imagelist;
定义一些标志ID的宏
#define ID_ADDINFO 1001
。。。。。。
。。。。。。
/*在初始化函数中*/
 m_imagelist.Create(32,32,ILC_COLOR24|ILC_MASK,1,1);  //创建图像列表
 CBitmap bmp;
 for(int i=0;i<5;i++)
 {
  bmp.LoadBitmap(IDB_BITMAP1+i);
  m_imagelist.Add(&bmp,RGB(255,255,255));
  bmp.DeleteObject();
 }
 UINT ar[5];
 for(int J=0;J<5;J++)
  ar[J]=ID_ADDINFO+J;
 m_toolbar.Create(this);//创建工具条
 m_toolbar.SetButtons(ar,5);
 m_toolbar.SetSizes(CSize(960,56),CSize(24,24));  //设置工具条按钮和图像大小
 m_toolbar.SetButtonText(0,"信息添加");
 m_toolbar.SetButtonText(1,"信息修改");

 m_toolbar.SetButtonText(2,"信息删除");

 m_toolbar.SetButtonText(3,"信息查询");

 m_toolbar.SetButtonText(4,"信息保存");
 m_toolbar.GetToolBarCtrl().SetImageList(&m_imagelist);
 
 RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);


在对话框中添加相应的相应函数,例如:
void OnAddInfo()
{
  MessageBox("进入信息添加模块");
}
最后在消息映射部分添加映射宏

BEGIN_MESSAGE_MAP(CDynamicToolBarDlg, CDialog)
 //{{AFX_MSG_MAP(CDynamicToolBarDlg)
 ON_WM_SYSCOMMAND()
 ON_WM_PAINT()
 ON_WM_QUERYDRAGICON()
 //}}AFX_MSG_MAP
 ON_COMMAND(ID_ADDINFO,OnAddInfo)
 ON_COMMAND(1002,OnDelInfo)
END_MESSAGE_MAP()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值