MFC对话框大小改变时同时改变控件位置

MFC对话框大小改变时同时改变控件位置,第1张

实际用到的就是GetWindowRect和MoveWindow两个函数。

计算过程中,既然是相对底部,那么获取窗口大小和控件位置后,先计算rectbottom和窗口高度的差值,加上一个底部正常距离,获取一个int值 iMove; 将rect的top和bottom分别减去这个iMove,调用MoveWindow即可。

GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。

GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对于窗口客户区的左上角)的。

用GetClientRect返回的RECT结构上左为零, 右下分别对应客户区的宽度和高度;

GetWindowRect 获取的是整个window 的rect 包括标题栏 之类的周边 而且是屏幕坐标

GetClientRect 获取的是客户区, 建立一个单文档程序运行起来后。你看到window 中白色的区域就是客户区 而且是客户坐标

以上就是关于MFC对话框大小改变时同时改变控件位置全部的内容,包括:MFC对话框大小改变时同时改变控件位置、MFC中函数GetWindowRect和GetClientRect的区别、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9777351.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存