`
kanwoerzi
  • 浏览: 1648270 次
文章分类
社区版块
存档分类
最新评论

动态创建工具栏

 
阅读更多

动态创建工具栏
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()

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics