获得桌面、屏幕、任务栏的高度宽度 |
您所在的位置:网站首页 › 任务栏一般不包含 › 获得桌面、屏幕、任务栏的高度宽度 |
获得桌面工作区大小,即不包括任务栏的大小,制作窗口全屏时经常用到,方法如下: RECT rt; SystemParametersInfo(SPI_GETWORKAREA,0,(PVOID)&rt,0);获得任务栏高度与宽度方法有二: 1.判断位置 RECT rt; SystemParametersInfo(SPI_GETWORKAREA, 0, &rt, 0) // 获得工作区大小 //任务栏在下面的高度 int y = ::GetSystemMetrics(SM_CYSCREEN)-rt.Height(); //上面 int y = rt.top; // 左 int y = rt.left; // 右 int y = ::GetSystemMetrics(SM_CXSCREEN)-rt.Width();2.得到高度,然后可判断位置 CRect rect; CWnd *pWndPrev= FindWindow("Shell_TrayWnd", ""); // 调用本对象即this的Findwindow函数,返回窗口指针 pWndPrev->GetWindowRect(&rect); //rect.bottom-rect.top 就是任务栏的高度 if(rect.top>0)//下面 if(rect.left>0)//左面 或者 CWnd* p = NULL ; HWND hwnd = ::FindWindow("Shell_TrayWnd",NULL); // 调用公有的FindWindow函数,返回窗口句柄 if(hwnd) { p = CWnd::FromHandle(hwnd); } p->GetWindowRect();//包含有宽度article from http://zhoumf1214.blog.163.com/blog/static/5241940201032010451992/
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |