实现标题条的显示与隐藏

MFC窗口的颜色和字体的设置 ou 1、改变对话框的底色在对话框的类中添加一个 private : CBrush m_brush;的成员变量。在类的构造函数中添加如下代码:m_brush.CreateSolidBrush(RGB(0,0,255));    //初始化为蓝色为对话框添加一个WM_CTLCOLOR消息响应函数,专门为控件着色的消息响应函数,代码如下:HBRUSH CSettingDlg::OnCtlColor(C 阅读详情
实现标题条的显示与隐藏
作者:rockieyung


有时候为了实际的显示面积大一些或其他的一些原因需要对标题条进行隐藏或显示。本文使用一个简单的例子,说明如何在MFC应用程序的框架下来实现它。其中使用API的方法也可用于其他的Windows应用开发环境。

CWnd类提供了一个函数ModifyStyle(),用于改变窗口的风格,原型如下:
BOOL ModifyStyle( DWORD dwRemove, DWORD dwAdd, UINT nFlags = 0 );
其中参数dwRemove为希望去掉的窗口风格,参数dwAdd为希望加上的窗口风格,参数nFlags用于确定窗口的大小与位置。

以下以一个MFC MDI应用为例说明:(功能和代码为啥不分开,感觉上不能1、2、3排起来)
1. 添加一个菜单项,ID为ID_VIEW_TITLE_BAR,并用类向导为CMainFrame生成消息函数OnViewTitleBar和OnUpdateViewTitleBar。
2. 为CMainFrame添加一个BOOL型的成员变量m_bViewTitleBar,并在构造函数中赋为TRUE
3. 为OnViewTitleBar添加如下实现

void CMainFrame::OnViewTitleBar() 
{
	  m_bViewTitleBar = !m_bViewTitleBar;
	  if (m_bViewTitleBar == FALSE) { // 隐藏TitleBar
		  ModifyStyle(WS_CAPTION, 0, SWP_FRAMECHANGED);
	  }
   else { // 显示TitleBar
		  ModifyStyle(0, WS_CAPTION, SWP_FRAMECHANGED);
	  }
}

4. 为OnUpdateViewTitleBar添加如下实现

void CMainFrame::OnUpdateViewTitleBar(CCmdUI* pCmdUI) 
{
	  pCmdUI->SetCheck(m_bViewTitleBar);
}

ModifyStyle在内部实际调用了三个API函数,在OnViewTitleBar也可以使用API来直接实现。

void CMainFrame::OnViewTitleBar() 
{
	m_bViewTitleBar = !m_bViewTitleBar;
	LONG lStyle = ::GetWindowLong(this->m_hWnd, GWL_STYLE);
	if (m_bViewTitleBar == FALSE) { // 隐藏TitleBar
		::SetWindowLong(this->m_hWnd, GWL_STYLE, lStyle & ~WS_CAPTION);
		::SetWindowPos(this->m_hWnd, NULL, 0, 0, 0, 0,
			SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | 
SWP_FRAMECHANGED);
}
else { // 显示TitleBar
		::SetWindowLong(this->m_hWnd, GWL_STYLE, lStyle | WS_CAPTION);
		::SetWindowPos(this->m_hWnd, NULL, 0, 0, 0, 0,
			SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | 
SWP_FRAMECHANGED);
}

本文源程序在Win2000 SP3 + VC6.0中调试通过。

Android游戏沉浸式设置,横屏显示,影藏标题栏,影藏电池栏,影藏navigationBar 文章目录横屏影藏ActionBar影藏电池栏影藏navigationBar 横屏 manifest中的activity中配置android:screenOrientation="sensorLandscape",sensorLandscape表示横屏显示,但是会随着用户手机重力,做旋转。 影藏ActionBar 去掉标题栏,titleBar或者actionBar是最简单的,通过设置theme,an... 阅读详情

相关推荐

隐藏和显示标题栏

在设计窗体时,有时需要动态的显示或者隐藏窗体标题栏,可以通过API函数GetWindowLong、SetWindowLong和SetWindowPos来实现。 GetWindowLong函数能够获得指定窗口的信息,其语法结构为: LONG WINAPI GetWindowLong(          _In_  HWND hWnd,          _In_ 

时光流逝,轻染指间 7216

MFC中临时禁用快捷键的方法

本人使用C++编程已有很多年,遇到过也解决过太多太多的问题,虽不敢说是编程高手,但也有很多编程经验。由于自己太懒,没有做笔记的习惯,导致很多时候还得花大把时间解决以前解决过的问题。今天终于决定把自己这些年编程的经验以及遇到的一些问题及解决办法记录下来。今天先把今天刚解决的问题写出来,以后再慢慢把想到的东西补上。 相信有童鞋做过简单的资源管理器,显示计算机中的文件和文件夹(以下统称文件),并提供对

haoekin的专栏 1979

MFC隐藏和显示任务栏与标题栏

void CVideoDlg::HideTaskBar(BOOL bHide) { int nCmdShow; LPARAM lParam; if(bHide == TRUE) { nCmdShow = SW_HIDE; lParam = ABS_AUTOHIDE | ABS_ALWAYSONTOP; } else { nCmdShow = SW_SHOW; lPa

成长之路 2351

MFC CMainFrame去掉标题栏

在OnCreate函数最后加上以下代码: SetWindowLong(this->m_hWnd,GWL_STYLE,WS_DLGFRAME);   CRect rect; GetWindowRect(&rect); ScreenToClient(&rect); SetWindowPos(NULL, 0, 0, rect.right - rect.left + rect.Widt

4194

QT 实现VS studio 右侧抽屉样式(附完整源码)

QT 实现VS studio 右侧抽屉样式(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 883

Android上滑隐藏标题下拉显示实现指南

自定义控件与事件处理是提升应用用户体验和功能灵活性的关键技术点。在这个章节中,我们将深入了解自定义控件的创建与应用,掌握事件处理机制,并探索如何优化事件处理以提高用户交互效率。自定义控件能够根据特定需求定制用户界面,它赋予开发者更多的自由度,使得界面更加贴近用户习惯和产品特性。以下是自定义控件设计与应用的过程。自定义控件首先应遵循用户界面设计的最佳实践,它们通常比标准控件具有更高的针对性和适用性。在设计自定义控件时,应重点考虑以下理念:简洁性:用户界面应尽可能简单直观。

weixin_42452924的博客 1207

MFC中标题栏的设置

设置MFC标题栏的方法 1.在MainFrm.cpp中添加m_strTitle="XXXX软件"; BOOLCMainFrame::PreCreateWindow(CREATESTRUCT&cs) { if(!CFrameWndEx::PreCreateWindow(...

chuxiu5746的博客 681

易语言保持标题条激活状态颜色总是明亮的

今天小编就为大家分享一篇关于易语言保持标题条激活状态颜色总是明亮的,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

vc中如何隐藏标题栏、显示标题栏?

voidCDlg::ShowCaption()//显示标题{LONGstyle=GetWindowLong(m_hWnd,GWL_STYLE);style|=WS_CAPTION;SetWindowLong(m_hWnd,GWL_STYLE,style);RECTr;GetWind...

anqincui2000的博客 857

Oracle GoldenGate (OGG) 实战:从安装到故障排查的完整避坑指南

本文提供了一份详尽的Oracle GoldenGate实战指南,涵盖从环境准备、核心进程配置到性能调优与故障排查的全过程。重点解析了OGG安装与部署中的常见陷阱,并分享了确保数据同步链路稳定运行的高级运维技巧与常见故障处理方法,帮助技术人员高效避坑。

weixin_29230649的博客 380

Exposure Fusion

MertensTMO原理详解: 文章:2007年Exposure Fusion 论文链接:http://ntp-0.cs.ucl.ac.uk/staff/j.kautz/publications/exposure_fusion.pdf 论文代码:C版本:https://github.com/JawThrow/ExposureFusion python版本:https://github.com/lzocro/Exposure-Fusion matlab版本:https://github.com/Mericam

大长腿不解释 1655

ExtJS collapsible同时隐藏标题栏

 目标效果如图,最上面的panel不显示标题栏,并且在分割条上显示收缩按钮,点击按钮可以隐藏上面的panel。 { xtype: 'panel', region: 'north', height: 100, header: false, //**隐藏标题栏 collapsible: true, //可折叠 split: true, //显示拖动条 html: '&l...

麻辣香锅 738

主流算力卡性能对比分析

超大规模AI训练/HPC:优先选择NVIDIA H100或AMD MI300X,需关注显存带宽和多卡互联能力。企业级AI训练:NVIDIA A100性价比更高,生态成熟。国内自主可控需求:华为昇腾910B是首选,支持液冷和低功耗设计。本地AI推理/游戏:NVIDIA RTX 4090或RTX 5090性价比突出,但需注意显存容量限制。边缘计算/低功耗场景:华为昇腾310或清微智能TX536(能效比6.3TOPS/W@INT8)更合适。

m0_69867914的博客 7809

百叶窗式面板(CurtainBox)

利用百叶窗式面板组可增大窗口的可利用面积,而且把常用工具放在窗口中比放在菜单中使用更方便,现在一些大型软件如Photoshop、Dreamweaver等都采用了这种方式。在这些软件中,百叶窗式面板组都做成了可停靠的窗口,我没有这种能力,只能做成固定位置的控件组,使用时只能用在对话框或具有CFormView的视图中,整个制作很粗糙,希望高手能加以改造。 本程序的核心思路是调整控件的位置和显示/隐藏...

jianhai1229的博客 233

告别调试烦恼:用Lattice Diamond手把手教你JTAG烧录FPGA(附SRAM/Flash模式详解)

本文详细介绍了使用Lattice Diamond软件进行JTAG烧录FPGA的全流程,包括SRAM临时调试和Flash固化的核心区别。从环境准备、硬件连接到文件准备、烧录模式选择,再到典型问题排查和高级技巧,手把手教你快速掌握FPGA烧录技术,提升开发效率。

weixin_42569329的博客 496

【最全】ISTQB- FL模拟题(含答案)

汇总收集的所有ISTQB基础级考题和答案

maoxuexue的博客 1万+

百叶窗式面板组

利用百叶窗式面板组可增大窗口的可利用面积,而且把常用工具放在窗口中比放在菜单中使用更方便,现在一些大型软件如Photoshop、Dreamweaver等都采用了这种方式。在这些软件中,百叶窗式面板组都做成了可停靠的窗口,我没有这种能力,只能做成固定位置的控件组,使用时只能用在对话框或具有CFormView的视图中,整个制作很粗糙,希望高手能加以改造。示例程序运行图本程序的核心思路是调整控件的位置和

Augusdi的专栏 1713

银河麒麟系统下VSCode安装全攻略:从下载到桌面快捷方式(附常见问题解决)

本文详细介绍了在银河麒麟系统下安装和优化VSCode的全流程,包括环境准备、安装策略、权限管理、桌面快捷方式创建以及系统级性能调优。特别针对国产系统环境提供了常见问题解决方案和必备插件推荐,帮助开发者高效配置开发环境。

v6b7n8m9q0的博客 1136

[Android Studio] 顶部标题栏的隐藏和显示、标题修改

主要讲解如何进行Android Studio顶部标题栏的显示和隐藏以及标题的修改

zhou_ge1的博客 2万+

Langfuse实战:从评估打分到问题解决的完整指南

本文详细介绍了如何利用开源LLM工程平台Langfuse对AI应用进行系统性评估与优化。从创建评估数据集、设计自动化评分函数,到深入排查常见问题并关联Trace进行精准打分,提供了完整的实战指南。最后,探讨了如何利用评估结果驱动提示词迭代与A/B测试,并给出了生产环境部署与性能优化的关键考量,帮助开发者构建可测量、可分析、可改进的LLM应用。

backprop5master的博客 651

PyTorch深度学习实战(4)——常用激活函数和损失函数详解

激活函数和损失函数是深度学习模型中重要组成部分,激活函数和损失函数的选择很大程度上决定了深度神经网络的性能和精度,需要根据具体问题的特点和数据分布等因素进行选择。在本节中,将介绍深度学习中常见的激活函数和损失函数,并说明不同函数的常见应用场景。

盼小辉丶的博客 1万+

关于android studio中标题栏的隐藏和显现实现。

首先,实现的是正常状态下标题栏的显示,这个很简单相信大家都可以搞得定。代码实现如下: public class MainActivity extends ActionBarActivity { //此处MainActivity继承自ActionBarActivity @Override protected void onCreate(Bundle savedInstance

JeremyDc的博客 9317

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jQuery之标题与内容的显示与隐藏

需求:页面中有多条系统消息列表,点击其中一条消息时显示相应的消息内容而标题隐藏。 默认第一条消息显示内容不显示标题,如图: 点击第3条消息时,显示第三条信息的内容而标题隐藏 html部分代码如下: <div class="hx-bottom_content"> <div class="hx-news_item"> <div class="row hx-news_title"> <div class="col-lg-8 col-md-8 col-sm

gyueh的博客 1029

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 程序启动画面
下一篇: Windows 2000/XP中对窗口进行透明化
普通网友
博客等级 码龄22年 1万+粉丝 3156原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值