MFC应用实例:[8]显示隐藏标题栏
来源:网络收集 点击: 时间:2024-08-23建立一个单文档的应用,工程名为HideTitle

在工作区的Resource View标签,展开Height resources|Menu,双击IDR_MAINFRAME选项,在客户区显示单文档的菜单栏。双击“帮助”菜单右侧的虚线框在弹出的菜单项目属性中取消选择弹出,在标明框输入“显示标题栏”

双击“显示标题栏”菜单右侧的虚线框在弹出的菜单项目属性中取消选择弹出,在标明框输入“隐藏标题栏”

在“显示标题栏”和“隐藏标题栏”菜单上分别点击右键,然后选择建立类向导。弹出MFC classWizard,在Message列表框中选择COMMAND选项,单击Add Function按钮,弹出Add Member Function对话框,单击OK按钮,最后单击Edit Code按钮。

在添加的函数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);//移动窗口
}

运行隐藏标题栏结果如下:

注意使用MoveWindow()对窗口进行刷新
编程语言版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1150304.html