MFC 工具栏

目录

工具栏概述

工具栏的使用

添加工具栏资源

创建,加载工具栏

设置工具栏停靠


工具栏概述

CToolBarCtrl-父类CWnd,封装了关于工具栏控件的各种操作。

CToolBar一父类CControlBar,封装了关于工具栏的操作,以及和框架窗口的关系。

VS工具栏按钮实现了文件下拉菜单功能

两者之间没什么关系,只是一般绑定着用,就是点击他们两个使用同一个消息

CToolBar:代表整个工具栏;CToolBarCtrl:代码工具栏中的工具按钮。

工具栏的使用

工具栏的使用:

  1. 添加工具栏资源
  2. 创建工具栏 CToolBar : : CreateEx
  3. 加载工具栏 CToolBar : : LoadToolBar
  4. 设置工具栏的停靠 CToolBar : : EnableDocking;CFrameWnd : : EnableDocking;CFrameWnd : : DockControlBar

添加工具栏资源

添加菜单资源

添加工具栏

如何删除?拖出来即可!

创建,加载工具栏

由创建菜单的经验可知,子窗口的创建应该在父窗口的WM_CREATE消息处理中,这里指的是窗口之间的关系

另外,点击新建和点击按钮发出的都是ID_NEW消息,实现了绑定处理

cpp 复制代码
int CMyFrameWnd::OnCreate(LPCREATESTRUCT pcs) {
	toolbar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP | CBRS_GRIPPER);
	toolbar.LoadToolBar(IDR_TOOLBAR1);
	toolbar.EnableDocking(CBRS_ALIGN_ANY);
}
  • TBSTYLE_FLAT 是工具栏控件的样式标志,表示创建一个扁平风格的工具栏。扁平风格的工具栏没有立体效果,按钮没有凸起的外观。
  • WS_CHILD | WS_VISIBLE 是窗口控件的样式标志,表示创建一个可见的子窗口。
  • CBRS_ALIGN_TOP 是控制栏的对齐方式标志,表示工具栏将被置于顶部对齐。
  • CBRS_GRIPPER 是控制栏的附加标志,表示工具栏将包含一个可拖动的抓手。

设置工具栏停靠

就是可以拖动工具栏,它有一个把手,可以拖动

需要添加把手

CToolBar : : EnableDocking; 告诉父窗口工具栏要停靠在框架窗口上

CFrameWnd : : EnableDocking; 框架窗口允许停靠

CFrameWnd : : DockControlBar 设置初始工具栏初始停靠位置

相关推荐
小欣加油13 分钟前
leetcode56 合并区间
c++·算法·leetcode·职场和发展
Yolo_TvT1 小时前
C++:析构函数
c++
Hello:CodeWorld3 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法
搬砖魁首5 小时前
基础能力系列 - 多线程2 - 条件变量
c++·rust·条件变量·原子类型·线程同步互斥
chase_my_dream5 小时前
C++ + SLAM 高频面试问题整理
开发语言·c++·面试
牛油果子哥q5 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
凡人叶枫7 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
不想写代码的星星7 小时前
std::move 根本不移动,就像老婆饼里没有老婆
c++
redaijufeng8 小时前
C++雾中风景7:闭包
c++·算法·风景
小欣加油8 小时前
leetcode287寻找重复数
数据结构·c++·算法·leetcode