在 C# winform 应用程序中,我正在尝试实现一些 Linux 窗口管理器功能。我已经做了很多事情,但是现在,我正在尝试调整大小的部分,在窗口中按下某个组合,然后向右/向左移动鼠标,窗口的宽度会增加向右/向左,对角线移动,窗口将在两个方向上增加。
现在我已经知道如何注册热键、获取/设置鼠标光标位置、移动窗口等。全部在 winapi 中。
我似乎无法得到那么多的东西是,我怎样才能在一个方向上增加窗口的宽度,比如宽度?如果我通常增加它,它将跨越两个方向。我想了想,我认为:窗口会在两个方向上增加,但是如果我们只想向右增加它的宽度,我们会一直在它的起点重新定位/移动它,以便左侧它将保持固定,正确的将跨越。
什么是正确且简单的方法?我的猜测是对的吗?
请注意,我不只是希望它只在我的表单中工作,而是在任何窗口上工作。
任何 C++/C#/Winapi 代码都会有所帮助。
任何某种想法/想法也会很棒。
非常感谢。