如何通过一定的组合键+鼠标移动来调整窗口大小?(如 Linux 中的 Alt+F8)不要单击并拖动

How to resize a window with a certain key-combo + mouse move? (like Alt+F8 in Linux) Not click and drag

本文关键字:Alt+F8 中的 Linux 拖动 单击 调整 何通过 组合 移动 鼠标 窗口大小      更新时间:2023-10-16

在C#wform应用程序中,我正在尝试实现一些Linux窗口管理器功能。我已经做了很多事情,但是现在,我正在尝试重新调整大小部分,您在窗口上按某个组合,然后将鼠标向右/向左移动,窗口的宽度向右/向左增加,对角线移动它,窗口将在两个方向上增加。

现在我已经知道如何注册热键、获取/设置鼠标光标 pos、移动窗口等。一切都在威纳皮。

似乎不能得到那么多的事情是,我怎样才能在一个方向上增加窗口的宽度? 如果我通常增加它,它将跨越两个方向。我考虑了一下,我认为:窗口将在两个方向上增加,但是如果我们只想增加它的宽度,我们会继续在它的起点重新定位/移动它,这样它的左侧将保持固定,右侧将跨越。

什么是

正确和简单的方法?我的猜测是对的吗?

请注意,我不仅希望它只在我的表单中工作,而且在任何窗口中都有效。

任何C++/C#/Winapi代码都会有所帮助。

任何某种想法/想法也会很棒。

多谢。

任何窗口:

  • Alt+空格键 - 调出标准窗口菜单
  • S - 选择尺寸
  • 箭头键(或鼠标)- 调整窗口大小
  • 输入 - 提交操作