MFC中ToolBar的使用

ToolBar 工具栏

示例:
在这里插入图片描述

第一步,在VS2019新建一个MFC项目;

第二步,右键资源文件,选择ToolBar,点击新建;
在这里插入图片描述
第三步,自定义三个按钮,可以设置图案,颜色,样式;
在这里插入图片描述
第四步,因为资源不能像控件一样通过自动生成工具自动添加变量,所以需要手动添加成员变量,在主对话框的h文件中添加CToolBar类型的变量,并引入<afxext.h>头文件
在这里插入图片描述
在这里插入图片描述
第五步,在主窗口cpp中重写父类继承下来的虚函数OnInitDialog(),并添加以下代码
在这里插入图片描述
至此,MFC中使用TAB控件就完成了。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFCToolBar视图是一个工具栏控件,它通常与主窗口或文档视图一起使用,用于提供快捷操作按钮。ToolBar视图可以使用CToolBar类创建,可以添加按钮、分隔符等控件。可以通过在工具栏上拖动鼠标来调整工具栏的大小和位置。 要在MFC应用程序创建ToolBar视图,可以按照以下步骤进行: 1.在资源视图添加一个ToolBar资源。 2.在主窗口类或文档视图类创建CToolBar对象,并使用Create函数创建工具栏。 3.使用AddButtons函数向工具栏添加按钮。 4.在主窗口类或文档视图类重写OnNotify函数,处理工具栏按钮的消息。 5.在主窗口类或文档视图类重写OnSize函数,以便在窗口大小改变时调整工具栏的大小和位置。 示例代码如下: //在主窗口类创建ToolBar视图 class CMainFrame : public CFrameWnd { public: CMainFrame(); virtual ~CMainFrame(); protected: CToolBar m_wndToolBar; afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnUpdateToolbar(CCmdUI* pCmdUI); DECLARE_MESSAGE_MAP() }; CMainFrame::CMainFrame() { } CMainFrame::~CMainFrame() { } BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_WM_CREATE() ON_WM_SIZE() ON_UPDATE_COMMAND_UI(ID_TOOLBAR_BUTTON1, &CMainFrame::OnUpdateToolbar) ON_UPDATE_COMMAND_UI(ID_TOOLBAR_BUTTON2, &CMainFrame::OnUpdateToolbar) END_MESSAGE_MAP() int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; //创建ToolBar if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_TOOLBAR)) { TRACE0("Failed to create toolbar\n"); return -1; } //设置工具栏按钮大小 m_wndToolBar.SetButtonSize(CSize(48, 48)); //启用工具栏按钮提示 m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY); //使工具栏可以调整大小 m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_wndToolBar); return 0; } void CMainFrame::OnSize(UINT nType, int cx, int cy) { CFrameWnd::OnSize(nType, cx, cy); //调整工具栏大小和位置 if (m_wndToolBar.GetSafeHwnd()) m_wndToolBar.MoveWindow(0, 0, cx, m_wndToolBar.GetHeight()); } void CMainFrame::OnUpdateToolbar(CCmdUI* pCmdUI) { //处理工具栏按钮的消息 } 注意:在上述示例代码,IDR_TOOLBAR是工具栏资源的ID,ID_TOOLBAR_BUTTON1和ID_TOOLBAR_BUTTON2是工具栏按钮的ID。同时,需要在资源文件定义工具栏资源和按钮资源,并将按钮资源关联到对应的命令ID。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值