手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

怎样由客户区大小得到窗口大小

时间:2024-10-12 09:38:03

在进行编程时,实际操作的区域通常是窗口的客户区。因此,我们常常需要精确地指定窗口客户区的大小。然而,在创建窗口时,需要提供的参数却是整个窗口的大小。由于用户系统千差万别,而且窗鄹绦谟嚣口边框也随着窗口样式的不同而不尽相同,用一个固定的边框宽度值来相加肯定是行不通的。那么,怎样才能由指定的窗口客户区大小得到窗口大小呢?下面,就以VS2013为例,来向大家作一个介绍。

怎样由客户区大小得到窗口大小

工具/原料

VS2103

一、问题描述

1、在 Windows 下编程时,有时需要精确指定窗口客户区的大小。比如说,制作一个俄蕃污旭鲤罗斯方块游戏,可能需要窗口客户区的宽高恰好是方块大小的整数倍。

怎样由客户区大小得到窗口大小

2、然而,我们在创建窗口时使用的 CreateWindow 函数,它需要提供的参数却是窗口的大小,而非客户区大小。

怎样由客户区大小得到窗口大小

3、那么,怎样才能根据给定的客户区大小得到窗口大小呢?

怎样由客户区大小得到窗口大小

二、解决办法

1、其实,微软早就注意到了这个问题的存在,它提供了一个函数来帮助我们解决该问题,这个函数就是AdjustWindowRect。

怎样由客户区大小得到窗口大小

2、该函数声明如图所示。

怎样由客户区大小得到窗口大小

3、它的各个参数说明如下图。

怎样由客户区大小得到窗口大小

4、现在,我们要想根据指定客户区的大小得到某个窗口的大小,只需要按如下方式调用该函数就可以了。

怎样由客户区大小得到窗口大小
© 手抄报圈