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 设置初始工具栏初始停靠位置

相关推荐
让我们一起加油好吗16 分钟前
【C++】封装红黑树模拟实现 set 和 map
linux·c++·set·map·红黑树
hsjkdhs22 分钟前
C++之类的继承与派生
开发语言·c++
冷徹 .31 分钟前
2024ICPC区域赛香港站
数据结构·c++·算法
沐怡旸1 小时前
【底层机制】std:: function 解决的痛点?是什么?如何实现?如何正确用?
c++·面试
浅川.251 小时前
xtuoj string
开发语言·c++·算法
Larry_Yanan3 小时前
QML学习笔记(三十)QML的布局器(Layouts)
c++·笔记·qt·学习·ui
筱砚.3 小时前
【C++——面向对象编程综合案例】
c++
ajassi20003 小时前
开源 C++ QT QML 开发(十五)通讯--http下载
c++·qt·开源
我梦之63 小时前
libevent输出缓存区的数据
服务器·网络·c++·缓存
磨十三3 小时前
C++ 单例模式(Singleton)详解
c++·单例模式