MFC怎么获得当前屏幕大小

你可以这样
HWND hwnd=GetDesktopWindow();
RECT rect;
GetClientRect(hwnd,&rect);//可以得到桌面大小
还有就是上面所说的
int nScreenWidth, nScreenHeight;
nScreenWidth = GetSystemMetrics(SM_CXSCREEN);
nScreenHeight = GetSystemMetrics(SM_CYSCREEN);

获得桌面工作区大小,即不包括任务栏的大小,制作窗口全屏时经常用到,方法如下:

 
  1. RECT rt;

  2. SystemParametersInfo(SPI_GETWORKAREA,0,(PVOID)&rt,0);

获得任务栏高度与宽度方法有二:

1.判断位置

 
  1. RECT rt;

  2. SystemParametersInfo(SPI_GETWORKAREA, 0, &rt, 0) // 获得工作区大小

  3. //任务栏在下面的高度

  4. int y = ::GetSystemMetrics(SM_CYSCREEN)-rt.Height();

  5. //上面

  6. int y = rt.top;

  7. // 左

  8. int y = rt.left;

  9. // 右

  10. int y = ::GetSystemMetrics(SM_CXSCREEN)-rt.Width();

2.得到高度,然后可判断位置

 
  1. CRect rect;

  2. CWnd *pWndPrev= FindWindow("Shell_TrayWnd", ""); // 调用本对象即this的Findwindow函数,返回窗口指针

  3. pWndPrev->GetWindowRect(&rect);

  4. //rect.bottom-rect.top 就是任务栏的高度

  5. if(rect.top>0) //下面

  6. if(rect.left>0) //左面

  7. 或者

  8. CWnd* p = NULL ;

  9. HWND hwnd = ::FindWindow("Shell_TrayWnd",NULL) ; // 调用公有的FindWindow函数,返回窗口句柄

  10. if(hwnd)

  11. {

  12. p = CWnd::FromHandle(hwnd) ;

  13. }

  14. p->GetWindowRect();//包含有宽度

参考资料:

http://zhoumf1214.blog.163.com/blog/static/5241940201032010451992/

MFC中获取任务栏大小相关推荐

  1. MFC中获取App,MainFrame,Doc和View类等指针的方法

    From: http://hi.baidu.com/wxnxs/item/156a68f5b3b4ed18e3e3bd03 MFC中获取App,MainFrame,Doc和View类等指针的方法 1  ...

  2. android调用音量方法,android中获取当前音量大小

    android中获取当前音量大小 (2012-11-07 08:40:41) 标签: it 通过程序获取android系统手机的铃声和音量.同样,设置铃声和音量的方法也很简单! 设置音量的方法也很简单 ...

  3. jsp获取java数组长度_数组 – 如何在java jsp中获取数组列表大小?

    我有一个表单要求用户输入ID.此表单发送到一个servlet,该servlet检查数据库以查看用户是否存在.如果用户存在,那么它会发回我们的订购项目.有序项目作为数组列表返回.然后这个数组列表将重定向 ...

  4. android 常用机型尺寸_Android中获取手机屏幕大小的方法

    本文为大家解析Android中如何获取手机屏幕大小,提供一个解决方法,分享给大家供大家参考,具体内容如下 运行效果图: 运行程序后,当我们点击Button按钮时,可以看到下面的效果图: 具体代码: 我 ...

  5. android获取位图字节数,Android中获取图片尺寸大小两种方法

    两种方法  建议用第二种 private void getPictureSize(String path) { /*第一种直接把bitmap加载到内存中,通过对bitmap的测量, 得出宽高,由于这个 ...

  6. java result元素_Java JDBC 中获取 ResultSet 的大小

    当我们执行完一条Sql语句,获取到一个 ResultSet 对象后,有时我们需要立即知道到底返回了多少个元素,但是 ResultSet 并没有提供一个 size() 方法 or length 的属性, ...

  7. MFC中获取TimeStamp的简要方法

    1.获取精确到秒的TimeStamp(10位) SYSTEMTIME sysTime;::GetLocalTime(&sysTime); CTime curTime(sysTime);__in ...

  8. MFC中获取指定打印机的打印队列的方法

    void CPrintListTestDlg::OnBnClickedButton1() {GetDlgItem(IDC_TxtList)->SetWindowText(L"" ...

  9. MFC中获取、改变Edict文本框和static静态文本框的值的方法

    先给编辑框指定变量,调用变量就可以调用编辑框里面的内容了. 在ClassWizard里面转到MemberVariables,选上编辑框的ID后,点击右边Add Variables,输入名称就可以指定变 ...

最新文章

  1. MS Reporting Services 报表开发
  2. Windows Server 2008 R2x64 IIS7+PHP5.6 错误 500.0
  3. 什么是栈,栈存储结构详情
  4. 机房收费系统——需求分析
  5. Django(part24)--查询数据
  6. 程序员私活app排行_iOS程序员,失业就等于成为废人?
  7. [USACO13MAR]Farm Painting【枚举】
  8. 使用 SDK (Nodejs)操作阿里 OSS (对象存储服务)学习笔记
  9. 最小割最大流算法matlab,matlab练习程序(最大流/最小割)
  10. 17届智能汽车竞赛无线充电组的方案研究(非正经)
  11. Sequence Modeling With CTC : Labelling Unsegmented Sequence Data with RNN
  12. 人们常说的扩充计算机内存,电脑加大内存条有什么好处
  13. 【影像配准】配准之棋盘网格图(镶嵌图像)(附有 C++ 代码)
  14. “古董级” 诺基亚功能机跑Linux是怎样的画风?
  15. poj 1013 模拟 天平问题
  16. 网页下载模板前台后台
  17. Python实现AI图像识别-身份证识别
  18. Android——adapter解读
  19. 全球与中国半导体AMC过滤器市场发展方向分析及未来前景展望报告2022-2028年
  20. matlab 期权 函数,Matlab分析期权定价

热门文章

  1. 磁盘io php,PHP CURL如何处理上传内存中文件,避免磁盘IO开销
  2. c++ 跳转到上级目录_Windows漏洞利用开发 第4部分:使用跳转定位Shellcode 模块
  3. 我的世界大佬最多的服务器,《我的世界》门槛最高的红石服务器TIS,看看你跟大佬们的差距吧...
  4. Linux更改显示管理器,聊聊Linux操作系统中的显示管理器及如何更换
  5. 连接数_全国建成5G基站超48万个 5G终端连接数已过亿
  6. 全国计算机等级考试和职称考试题库,全国职称计算机等级考试题库及答案
  7. linux无线网卡消失,linux下wpa/wpa2的无线网卡设置 [暂时还没有证实是否能用]
  8. linux 卸载ava,linux下配置ava环境变量.doc
  9. 2021年全国大学生电子设计竞赛重新启动通知及进度安排
  10. 马云都退休20天了,2019年剩下不到100天了:你还没掌握Python 编程思维吗?