实现标题条的显示与隐藏

Ccc艾瑞

Ccc艾瑞

2016-01-29 11:54

实现标题条的显示与隐藏,实现标题条的显示与隐藏
实现标题条的显示与隐藏
作者:rockieyung

下载本文示例源代码

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/cyuyanjiaocheng/)

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/cyuyanjiaocheng/)

以下以一个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中调试通过。

展开更多 50%)
分享

猜你喜欢

实现标题条的显示与隐藏

C语言教程 C语言函数
实现标题条的显示与隐藏

Word怎么显示隐藏的标题3?

word
Word怎么显示隐藏的标题3?

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用js实现select对div的隐藏与显示

Web开发
用js实现select对div的隐藏与显示

如何隐藏和显示Windows的任务条

编程语言 网络编程
如何隐藏和显示Windows的任务条

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Android键盘显示与隐藏代码

编程语言 网络编程
Android键盘显示与隐藏代码

如何实现窗体的自动隐藏显示功能

编程语言 网络编程
如何实现窗体的自动隐藏显示功能

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

CAD利用对齐命令解题

CAD利用对齐命令解题

实现网页的动态过渡效果

实现网页的动态过渡效果
下拉加载更多内容 ↓