MFC应用实例:[8]显示隐藏标题栏
1、建立一个单文档的应用,工程名为HideTitle
![MFC应用实例:[8]显示隐藏标题栏](https://exp-picture.cdn.bcebos.com/0da37be7340f6478ed8e560afd3e21c2bad6b501.jpg)
2、在工作区的Resource View标签,展开Height resources|Menu,双击IDR_MAINFRAME选项,在客户区显示单文档的菜单栏。双击“帮助”菜单右侧的虚线框在弹出的菜单项目属性中取消选择弹出,在标明框输入“显示标题栏”
![MFC应用实例:[8]显示隐藏标题栏](https://exp-picture.cdn.bcebos.com/2083a5d6e1d06de89acf6e96ca93cee8b104ac01.jpg)
3、双击“显示标题栏”菜单右侧的虚线框在弹出的菜单项目属性中取消选择弹出,在标明框输入“隐藏标题栏”
![MFC应用实例:[8]显示隐藏标题栏](https://exp-picture.cdn.bcebos.com/555acf0ff2260d9a38a0ff2a622abab84340a501.jpg)
4、在“显示标题栏”和“隐藏标题栏”菜单上分别点击右键,然后选择建立类向导。弹出MFC classWizard,在Message列表框中选择COMMAND选项,单击Add Function按钮,弹出Add Member Function对话框,单击OK按钮,最后单击Edit Code按钮。
![MFC应用实例:[8]显示隐藏标题栏](https://exp-picture.cdn.bcebos.com/6bbfdd14f1c595ee536f5f9427530688902c9a01.jpg)
5、在添加的函数OnHide()和OnShow()中添加一下代码:
void CMainFrame::OnHide()
{
// TODO: Add your command handler code here
LONG style = GetWindowLong(m_hWnd, GWL_STYLE); //得到窗口类型
style &= ~(WS_CAPTION); //修改窗口类型,显示标题栏
SetWindowLong(m_hWnd, GWL_STYLE, style); //设置窗口类型
//移动窗口使隐藏标题栏立即生效
RECT winRect;
GetWindowRect(&winRect);//得到窗口位置
winRect.top++; //窗口上移
MoveWindow(&winRect); //移动窗口
}
void CMainFrame::OnShow()
{
// TODO: Add your command handler code here
LONG style = GetWindowLong(m_hWnd, GWL_STYLE); //得到窗口类型
style |= WS_CAPTION; //修改窗口类型,显示标题栏
SetWindowLong(m_hWnd, GWL_STYLE, style); //设置窗口类型
//移动窗口使显示标题栏立即生效
RECT winRect;
GetWindowRect(&winRect);//得到窗口位置
winRect.top--; //窗口下移
MoveWindow(&winRect); //移动窗口
}
![MFC应用实例:[8]显示隐藏标题栏](https://exp-picture.cdn.bcebos.com/dda98e4800fc77f784a0b793c8715fdb37209001.jpg)
6、运行隐藏标题栏结果如下:
![MFC应用实例:[8]显示隐藏标题栏](https://exp-picture.cdn.bcebos.com/b87bd38920c5260fad9b3539d2de450789018901.jpg)