惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
M
MIT News - Artificial intelligence
D
Docker
量子位
T
Tailwind CSS Blog
人人都是产品经理
人人都是产品经理
月光博客
月光博客
有赞技术团队
有赞技术团队
J
Java Code Geeks
A
About on SuperTechFans
P
Proofpoint News Feed
Jina AI
Jina AI
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
V
V2EX
GbyAI
GbyAI
F
Fortinet All Blogs

博客园 - double64

Qt 翻译简单使用 MSVC 特有的 pragma C# 字符串转换 C# 遍历删除空文件夹 MFC 单文档无边框最大化全屏 MFC 对话框去边框最大化全屏 C++ 动态数组 C++ 安全的拷贝赋值(Copy-and-Swap 惯用法) C++ 基类派生类的 static_cast 和 dynamic_cast 转换的简单测试 visual studio 的 snippet 代码片段模板样式 Windows 右键管理官方小程序Autoruns C++ 结合 enum 按位与或组合检测枚举项 std::unique_ptr 当删除器类型为 无状态的时构造可以不用传删除器示例 两个用来写 CLI - Command-Line Interface 的命令解析库 enum class 类型转换 int 微软输入法中如何输出当前时间 音程知识 C++ 模板引用参数的各种情况 英语 12 种时态 Qt 手动添加 Q_OBJECT 需要添加的地方 C# WPF 绑定 ObservableObject 实现 INotifyPropertyChanged 接口 C++ 标准库 copy_if C++ lambda 和 bind 何时优先使用 Windows 下的 Qt 中 min max 函数冲突 C++ RVO 或 NRVO 可能触发的条件 C++ std::unique_ptr 和 std::shared_ptr 都支持自定义删除器(deleter) C++ 智能指针和动态数组 std::vector 插入另一个 vector 的范围元素 Qt tableWidget QTableWidget 常用一些属性设置 C++ 内部类(嵌套类)是可以访问外部类的私有保护成员的
MFC 单文档去掉菜单栏
double64 · 2026-07-16 · via 博客园 - double64

一. 去掉菜单栏

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 函数中添加:

  	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
  		return -1;
  	// 1. 保留 WS_SYSMENU,不清除它
  	// 不修改窗口样式

  	// 2. 移除菜单栏(文件、编辑等)
  	SetMenu(NULL);

  	// 3. 禁用系统菜单的弹出(点击图标或右键标题栏不弹出菜单)
  	// 方法:移除系统菜单中的所有项
  	HMENU hSysMenu = ::GetSystemMenu(NULL, FALSE);
  	if (hSysMenu) {
  		int nCount = GetMenuItemCount(hSysMenu);
  		for (int i = nCount - 1; i >= 0; --i) {
  			RemoveMenu(hSysMenu, i, MF_BYPOSITION);
  		}
  	}

效果:
image

下面这样好像是同样的效果,更简洁:

	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	// 1. 移除菜单栏(文件、编辑等)
	SetMenu(NULL);

	// 2. 保留系统菜单,但不显示
	// 不修改系统菜单,保留功能

	// 3. 移除左上角图标(可选)
	SetIcon(NULL, FALSE);
	SetIcon(NULL, TRUE);