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

相关推荐
blasit1 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
肆忆_2 天前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++
不想写代码的星星2 天前
虚函数表:C++ 多态背后的那个男人
c++
端平入洛4 天前
delete又未完全delete
c++
端平入洛5 天前
auto有时不auto
c++
哇哈哈20216 天前
信号量和信号
linux·c++
多恩Stone6 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
蜡笔小马6 天前
21.Boost.Geometry disjoint、distance、envelope、equals、expand和for_each算法接口详解
c++·算法·boost
超级大福宝6 天前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
weiabc6 天前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法