CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

全屏显示界面的设计

楼主COMPUTERZZZ(oiu)2005-06-01 20:56:16 在 VC/MFC / 界面 提问

我做一个程序,是全屏显示的.可全屏显示的控件如何放置,比如:萤幕的分辩率为800*600,在VC的编辑器下是没法做的.有哪位老兄知道呀!最好有实例.(对话框或单文档的例子)  
  我的邮箱:computer73@sohu.com 问题点数:0、回复次数:13Top

1 楼jxnczxl(jxnczxl)回复于 2005-06-01 21:07:44 得分 0

用函数GetSystemMetrics(...)可以得到屏幕的大小,//我忘了它怎么写了,你可以查API手册。Top

2 楼xlzxlich(阳光)回复于 2005-06-02 03:14:43 得分 0

正好有这方面的东东,发一份给你好了。  
  你看看有用不。Top

3 楼xlzxlich(阳光)回复于 2005-06-02 03:17:02 得分 0

发不了  
  m_bFullMap2Screen=!m_bFullMap2Screen;   //   设置全屏显示标志  
   
  LONG   style   =   ::GetWindowLong(this->m_hWnd,GWL_STYLE);  
  if(m_bFullMap2Screen)//全屏显示  
  {  
  style   &=   ~(WS_DLGFRAME   |   WS_THICKFRAME);  
  SetWindowLong(this->m_hWnd,GWL_STYLE,   style);  
  this->ShowWindow(SW_SHOWMAXIMIZED);  
  CRect   rect;  
  this->GetWindowRect(&rect);  
  ::SetWindowPos(this->m_hWnd,HWND_NOTOPMOST,rect.left-1,   rect.top-1,   rect.right-rect.left   +   3,   rect.bottom-rect.top   +   3,   SWP_FRAMECHANGED);  
  }  
  else  
  {  
  style   |=   WS_DLGFRAME   |   WS_THICKFRAME;  
  SetWindowLong(this->m_hWnd,   GWL_STYLE,   style);  
  this->ShowWindow(SW_NORMAL);  
  }  
  Top

4 楼fanqing(火影忍者+28%(准备学习进程/线程))回复于 2005-06-02 08:13:49 得分 0

根据屏幕大小自己调节控件大小--如movewindowTop

5 楼COMPUTERZZZ(oiu)回复于 2005-06-02 12:25:04 得分 0

我的意思是程序一启动就全屏显示,窗口大小不能改变,这样的程序中的控件怎么做,比如是一个对话框的程序.Top

6 楼rabo(不哭死人)回复于 2005-06-02 12:27:41 得分 0

所有的控件都用SetWindowsPos来定位。慢慢调。。。。Top

7 楼myazrael(凌晨)回复于 2005-06-02 13:21:52 得分 0

像2楼说的用GetSystemMetrics(XXX)函数,参数XXX如果添入CXSCREEN,则返回一个屏幕宽度,如果是CYSCREEN则返回一个屏幕高.  
  例子:  
  CreateWindow(窗口类名,窗口名,窗口,风格,  
  0,//显示位置X  
  0,//显示位置Y  
  GetSystemMetrics(CXSCREEN),//显示窗口宽,CXSCREEN  
  GetSystemMetrics(CYSCREEN),//显示窗口高,CYSCREEN  
  NULL,   NULL,   hInstance,   NULL);Top

8 楼psbeond(LibUIDK界面库客服)回复于 2005-06-03 12:50:58 得分 0

1.用GetSystemMetrics得到屏幕的宽和高,   在程序启动时调用SetWindowPos或MoveWindow你的对话框设置和屏幕一样大.  
  2.你说的VC不能把对话框资源做到和屏幕一样大,你可以做小点,并不是你做多大就显示多大,你可以用SetWindowPos或MoveWindow改变窗口大小  
  3.控件的位置也是根据SetWindowPos或MoveWindow来定位的.生成资源时控件随便放Top

9 楼COMPUTERZZZ(oiu)回复于 2005-06-03 12:57:28 得分 0

控件的位置也是根据SetWindowPos或MoveWindow来定位的.岂不是太麻烦了,又回到了DOS编程时代了Top

10 楼pomelowu(羽战士)回复于 2005-06-03 13:21:25 得分 0

控件本来就是窗口,用这两个函数定位没什么说不过去的。麻烦是麻烦,VC也就这样了,凑合着用吧Top

11 楼guosx(玄远)回复于 2005-06-03 13:27:08 得分 0

我不知道楼上的兄弟的代码是不是测试过了,反正是在我的机子上是过不去,我把那个什么改成long   style   =   GetSystemMetrics((int)this->m_hWnd)倒行了;Top

12 楼allenhiman(9Ft)回复于 2005-06-03 15:31:43 得分 0

SDI或者MDI  
  第一步:设置窗口风格为WS_POPUP  
  BOOL   CMainFrame::PreCreateWindow(CREATESTRUCT&   cs)  
  {  
  if(   !CFrameWnd::PreCreateWindow(cs)   )  
  return   FALSE;  
  //My   codes   start   here  
  cs.style   =   WS_POPUP  
  //end  
  return   TRUE;  
  }  
  第二步:在适当的位置最大化窗口(   比如在yaurPrj.cpp中)  
  ShowWindow(   SW_MAXIMIZE);  
   
  如果上面的可以(事实上是可以的)   Dialog自然就会了  
  ps:所谓的全屏就是窗口风格为WS_POPUP,并且最大化  
   
  Top

13 楼zengwujun(月之海 为linux入门奋斗100天)回复于 2005-06-03 19:37:53 得分 0

markTop

相关问题

  • 如何让界面全屏显示
  • 全屏显示。
  • 如何在设计时指定对话框以全屏显示
  • 界面设计
  • 关于监控信息的界面显示设计。
  • 关于监控信息的界面显示设计
  • java 界面设计
  • MDI中的全屏显示
  • 全屏显示问题
  • 全屏显示问题

关键词

  • 控件
  • 屏幕
  • 函数
  • ws
  • 全屏
  • 显示
  • movewindow
  • setwindowpos
  • 对话框
  • rect

得分解答快速导航

  • 帖主:COMPUTERZZZ

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo