MFC 程序,当窗口最小化的时候再点开时,在OnSize()函数中得到的cx,cy怎么是0

MFC 程序,当窗口最小化的时候再点开时,在OnSize()函数中得到的cx,cy怎么是0,第1张

CRect rect;

pWnd->GetWindowRect(&rect);

如ls所述。在窗口还未显示时,GetWindowRect得到的rect的left和top是等于0的。

你可以用GetClientRect得到窗口大小。

在哪里想获得了直接调用入校函数就可以了

CRect rc;

GetWindowRect(&rc);

rcWidth();获得宽度

rcHeight();获得高度

在某一种分辨率下窗口窗口的长宽比例应该是知道的。比如在1024768分辨率下,窗口的宽高如果是ab,则窗口宽高(用x,y表示)与分辨率的关系应该是:x=::GetSystemMetricsSM_CXSCREEN)a/1024,y=::GetSystemMetrics(SM_CYSCREEN)b/768,至于窗口的位置,其实也就是一个数学计算问题。计算的窗口的初始位置后,根据新的位置和长宽定义一个并初始化一个CRect变量,调用MoveWindow函数进行调整窗口即可。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12177591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存