Windows控制台虚拟终端序列是否提供滚动屏幕缓冲区的方法?

dgjrabp2  于 2023-06-30  发布在  Windows
关注(0)|答案(1)|浏览(167)

由于某些原因,这里提到的视口定位不像用鼠标滚轮滚动终端窗口那样工作。
我期望所讨论的虚拟端子序列将先前在视口外部的线移动到视口中,并将先前在视口内部的线移动到视口之外。相反,它从缓冲区中删除了我希望移出的行,并在我希望以前未显示的行出现的地方插入新行。
是否有一种方法可以执行与使用鼠标滚轮滚动相同的操作,但使用虚拟终端序列?SetConsoleWindowInfo提供了这个功能,但如果可能的话,我想坚持使用虚拟终端序列。
另一种实现目标的方法是将光标位置设置为当前视口之外的坐标。但是,用于光标定位的VTS仅在当前视口内工作。SetConsoleCursorPosition提供此功能。

3htmauhk

3htmauhk1#

不,不是这样的。如 * 控制台虚拟终端序列 * 顶部所述
以下序列的行为基于VT 100和派生的终端仿真器技术,特别是xterm终端仿真器。有关终端序列的更多信息,请访问http://vt100.nethttp://invisible-island.net/xterm/ctlseqs/ctlseqs.html
虚拟终端的视口就像xterm的可见屏幕。控制序列会更新该视口,但(忽略从视口 * 滚出 * 的旧数据)不会从视口 * 外部的数据 * 更新视口。
仅与鼠标相关的控制序列用于启用鼠标事件(按钮单击、选择/粘贴),不会导致视口四处移动。

相关问题