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

相关推荐
t***5446 小时前
如何在现代C++中更有效地应用这些模式
java·开发语言·c++
itman3016 小时前
C语言、C++与C#深度研究:从底层到现代开发演进全解析
c语言·c++·c·内存管理·编译模型
Hical_W8 小时前
为 C++ Web 框架设计三层 PMR 内存池:从原理到实战
c++·github
BestOrNothing_20158 小时前
C++零基础到工程实战(3.6):逻辑实战示例—日志模块
c++·命令行参数·main函数·switch case·逻辑判断·if else·enum class
t***5448 小时前
有哪些常见的架构设计模式在现代C++中应用
开发语言·c++
zopple9 小时前
汇编、C、C++和Java核心技术对比
c语言·汇编·c++
汉克老师10 小时前
GESP2024年3月认证C++三级( 第三部分编程题(1、字母求和)
c++·string·gesp三级·gesp3级·大小写判断
沐雪轻挽萤10 小时前
10. C++17新特性-保证的拷贝消除 (Guaranteed Copy Elision / RVO)
开发语言·c++
leaves falling11 小时前
C/C++ 的内存管理,函数栈帧详讲
java·c语言·c++
wuyoula11 小时前
AI导航智能决策系统源码 附教程
c++·tcp/ip·源码