C ++:禁用控制台应用程序中的滚动..?

时间:2012-10-21 02:00:47

标签: c++ visual-studio winapi console cmd

我创建了一个无边框(和无滚动框)控制台应用程序,但我发现如果用户有一个触摸板并尝试使用它滚动控制台,他就能够这样做。 (显然,用普通鼠标无法完成。)

我想禁用此功能。

首先,我考虑为我的控制台创建某种消息处理系统,就像在Win32 GUI编程中一样,但这似乎有点不必要。

我还考虑过更改缓冲区大小,但我不知道如何做到这一点(我查看了SetConsoleScreenBufferSize,但无法做任何有用的事情)。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

问题已解决..

我不小心使用了SetConsoleScreenBufferSize(hWnd, dwSize);而不是SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE), dwSize);

编辑:还有一个小bug。 即使我将Console Screen Buffer Size设置为尽可能小,用户仍然可以向上滚动几步(向下滚动,用户需要滚动速度非常快,出于某种原因)我不知道什么可能导致这种情况,所以如果你有任何想法,pelase让我知道。