【VC++】GetClientRect的问题
我的屏幕分辨率为1280*1024使用CRectdlgRect;GetClientRect(&dlgRect);之后使用dlgRect.Width()和dlgRect.H...
我的屏幕分辨率为1280*1024
使用
CRect dlgRect;
GetClientRect(&dlgRect);
之后使用
dlgRect.Width()和dlgRect.Height()
确得到1274*994
请问是怎么回事
感觉边框也没有这么宽啊,横向竟然少了30像素,目测没这多似的 展开
使用
CRect dlgRect;
GetClientRect(&dlgRect);
之后使用
dlgRect.Width()和dlgRect.Height()
确得到1274*994
请问是怎么回事
感觉边框也没有这么宽啊,横向竟然少了30像素,目测没这多似的 展开
5个回答
展开全部
GetClientRect只是获得程序中客户区的大小。程序的边框、标题条、工具条,状态条等都不包括的。
获得屏幕分辨率大小用
int xSize = ::GetSystemMetrics(SM_CXSCREEN);
int ySize = ::GetSystemMetrics(SM_CYSCREEN);
或者:
CRect rect;
::GetWindowRect(::GetDesktopWindow(),&rect);
补充:
你看错了,横向才差了6个像素(1280-1274),边框差不多
纵向是差了30,因为纵向要去除标题条、工具条,状态条等
获得屏幕分辨率大小用
int xSize = ::GetSystemMetrics(SM_CXSCREEN);
int ySize = ::GetSystemMetrics(SM_CYSCREEN);
或者:
CRect rect;
::GetWindowRect(::GetDesktopWindow(),&rect);
补充:
你看错了,横向才差了6个像素(1280-1274),边框差不多
纵向是差了30,因为纵向要去除标题条、工具条,状态条等
展开全部
GetClientRect函数是获得客户区的矩形区域...
如果你使用的MFC并且带框架的话,那么就算你最大化你的程序,也不能得到你的分辨率大小...因为框架是不属于客户区的!...如果你使用的API的话,应该带上句柄参数。
如果你只是要得到显示器的分辨率...建议使用GetSystemMetrics函数更方便!
如果你使用的MFC并且带框架的话,那么就算你最大化你的程序,也不能得到你的分辨率大小...因为框架是不属于客户区的!...如果你使用的API的话,应该带上句柄参数。
如果你只是要得到显示器的分辨率...建议使用GetSystemMetrics函数更方便!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
GetClientRect
是获取工作区的大小,不包括边框
是获取工作区的大小,不包括边框
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用GetWindowRect
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不包括边框……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询