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

相关推荐
xiaolang_8616_wjl4 小时前
c++文字游戏_闯关打怪2.0(开源)
开发语言·c++·开源
夜月yeyue4 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
无小道5 小时前
c++-引用(包括完美转发,移动构造,万能引用)
c语言·开发语言·汇编·c++
FirstFrost --sy7 小时前
数据结构之二叉树
c语言·数据结构·c++·算法·链表·深度优先·广度优先
Tanecious.7 小时前
C++--map和set的使用
开发语言·c++
Yingye Zhu(HPXXZYY)7 小时前
Codeforces 2021 C Those Who Are With Us
数据结构·c++·算法
liulilittle8 小时前
LinkedList 链表数据结构实现 (OPENPPP2)
开发语言·数据结构·c++·链表
无聊的小坏坏8 小时前
三种方法详解最长回文子串问题
c++·算法·回文串
山河木马9 小时前
前端学习C++之:.h(.hpp)与.cpp文件
前端·javascript·c++
2401_891957319 小时前
list的一些特性(C++)
开发语言·c++