Как удалить полосы прокрутки в консоли Windows на C++
Я проверял некоторые Rogue, как игры (Larn, Rogue и т. д.), которые написаны на C и C++, и я заметил, что у них нет полос прокрутки справа от окна консоли.
Как я могу выполнить эту же функцию?
2 ответов
эти ребята показать, как это сделать:
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
HANDLE hOut;
CONSOLE_SCREEN_BUFFER_INFO SBInfo;
COORD NewSBSize;
int Status;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hOut, &SBInfo);
NewSBSize.X = SBInfo.dwSize.X - 2;
NewSBSize.Y = SBInfo.dwSize.Y;
Status = SetConsoleScreenBufferSize(hOut, NewSBSize);
if (Status == 0)
{
Status = GetLastError();
cout << "SetConsoleScreenBufferSize() failed! Reason : " << Status << endl;
exit(Status);
}
GetConsoleScreenBufferInfo(hOut, &SBInfo);
cout << "Screen Buffer Size : ";
cout << SBInfo.dwSize.X << " x ";
cout << SBInfo.dwSize.Y << endl;
return 0;
}
вам нужно сделать буфер экрана консоли того же размера, что и окно консоли. Получить размер окна с GetConsoleScreenBufferInfo, srWindow члена. Задайте размер буфера с помощью SetConsoleScreenBufferSize ().