通过鼠标调整大小

时间:2010-11-11 20:39:36

标签: c++ mouse

我有一个有2个点的矩形类,中心轴指向矩形的大小。让我们说我想用鼠标拖动矩形的底部,但保持它的顶部在相同的位置。根据鼠标找到中心位置和新矩形大小的算法是什么?在此先感谢:)

3 个答案:

答案 0 :(得分:1)

在拖动底部(右手角)时,将中心向同一方向移动一半距离(在X和Y中的一个或两个中)。

答案 1 :(得分:0)

我会假设图形API在这里,它是什么?我还假设你已经找到了如何检测鼠标点击你的盒子边缘,你有没有确切地确定它是如何工作的?他们只需要点击它附近,然后他们拖动确切的角落或什么?

我可以告诉你,你需要在他们第一次点击时记录鼠标的位置,并获得他们现在所处位置的差异。距离的一半,然后将其添加到原始中心。

修改

哦,对于新尺寸,它将鼠标位置的差异添加到原始尺寸上。因此,如果鼠标向下移动(增加y)和向左移动(减少x)每个单位10个单位,则使盒子高十个单位,十个更窄,中心将是5个向下,5个向左。

答案 2 :(得分:0)

更容易区分鼠标移动,并创建一个大小的新矩形。然后使用矩形类检查中心点。比抵消旧中心容易得多。