MFC工具栏的创建和实现ToolBar

来源:互联网 发布:mysql limit offset 编辑:程序博客网 时间:2024/06/05 13:34

toolbar属于资源,所以在RC目录中右击,添加资源-->toolbar--->新建,新建的位图放在rec目录下,名称为toolbar1,新建 的位图一般不美观,用其他画图工具做好16X16或32X32宽度的图片备用,关闭程序,删除rec目录下的toolbar1.bmp图片,然后再打开程序,此时会提示找不到toolbar1.bmp图片,按取消关闭,再把创建好的图片放在rec目录下,替换原来的toolbar1.bmp图片。此时再打开程序就是新的图片。

创建和加载语句


1、在头文件中声明变量

// 实现
protected:
HICON m_hIcon;
CToolBar m_ToolBar;   //声明变量


2、在CPP中实现

// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
//  执行此操作
SetIcon(m_hIcon, TRUE);// 设置大图标
SetIcon(m_hIcon, FALSE);// 设置小图标


// TODO: 在此添加额外的初始化代码

//创建和加载工具栏
if (!m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_ToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("未能创建工具栏\n");
return -1;      // 未能创建
}
m_ToolBar.LoadBitmap(IDB_BITMAP1);
m_ToolBar.ShowWindow(SW_SHOW);   
m_ToolBar.SetBarStyle(CBRS_ALIGN_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,   AFX_IDW_CONTROLBAR_LAST,   0); 
3、处理按钮的消息映射

BEGIN_MESSAGE_MAP(CToolbarDlg, CDialogEx)

ON_COMMAND(ID_TOOLBAR_BUTTON1,&CToolbarDlg::OnToolBarButton1)

END_MESSAGE_MAP()
4、在.H文件中进行OnToolBarButton1函数的声明

public:

afx_msg void OnToolBarButton1();{

5、在CPP文件中写定义

void CToolbarDlg::OnToolBarButton1()
{
AfxMessageBox(_T("您按了打开"));
}









原创粉丝点击