当前位置:IT168首页 > 技术开发 > 概述
[收藏此页] [打印] [推荐] [评论]

VC++ 实现全屏

责任编辑:nancy作者:ITPUB论坛   2008-07-02   
文本Tag: 微软 sql

【IT168技术文档】

  函数如下:
void FullScan() { static bool isfull=true; static CRect m_OldWndRect; static CMenu m_OrgMenu; if(isfull==true) { GetWindowRect(&m_OldWndRect);//得到原窗口位置 //隐藏工具栏和状态栏 if(m_wndToolBar.IsWindowVisible()) { m_wndToolBar.ShowWindow(SW_HIDE); } if(m_wndStatusBar.IsWindowVisible()) { m_wndStatusBar.ShowWindow(SW_HIDE); } //隐藏菜单栏 CMenu* pOldMenu=GetMenu(); m_OrgMenu.Attach(pOldMenu->Detach()); SetMenu((CMenu*)NULL); //隐藏标题栏 LONG style=::GetWindowLong(m_hWnd,GWL_STYLE); style&=~WS_CAPTION; ::SetWindowLong(m_hWnd,GWL_STYLE,style); //窗体最前 ::SetWindowPos(AfxGetMainWnd()->m_hWnd,HWND_TOPMOST,-1,-1,-1,- 1,SWP_NOMOVE|SWP_NOSIZE); //全屏 ShowWindow(SW_SHOWMAXIMIZED); RecalcLayout();//重绘框架 isfull=false; } else { //显示工具栏和状态栏 m_wndToolBar.ShowWindow(SW_SHOW); m_wndStatusBar.ShowWindow(SW_SHOW); //显示菜单栏 SetMenu(&m_OrgMenu); m_OrgMenu.Detach(); //显示标题栏 LONG style=::GetWindowLong(m_hWnd,GWL_STYLE); style|=WS_CAPTION; ::SetWindowLong(m_hWnd,GWL_STYLE,style); //取消窗体最前 ::SetWindowPos(AfxGetMainWnd(), m_hWnd,HWND_NOTOPMOST,m_OldWndRect.left,m_OldWndRect.top, m_OldWndRect.right-m_OldWndRect.left,m_OldWndRect.bottom-m_OldWndRect.top,SWP_SHOWWINDOW); //恢复 ShowWindow(SW_SHOWNOACTIVATE); MoveWindow(m_OldWndRect); RecalcLayout();//重绘框架 isfull=true; } return 0; }
  这个函数第一次调用时实现全屏,第二次调用是恢复原来的状态。
上一页
1
下一页
收藏到: 添加到“百度搜藏”添加到“QQ书签”添加到“Google书签”添加到“Yahoo收藏”添加到“和讯网摘”
【内容导航】
本文欢迎转载,转载请注明:转载自IT168 [ http://www.it168.com/ ]
本文链接:http://tech.it168.com/d/2008-07-02/200807021030572.shtml
技术开发相关文章  
  • 暂无
友情推介