Как удалить полосы прокрутки в консолях C++

Я проверял некоторый Жулик как игры (Larn, Жулик, и т.д.), которые записаны в C и C++, и я заметил, что у них нет полос прокрутки направо от консоли.

Как я могу выполнить эту ту же функцию?

8
задан Greg S 12 August 2010 в 20:08
поделиться

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;
}
8
ответ дан 5 December 2019 в 13:59
поделиться

Вам необходимо сделать буфер экрана консоли того же размера, что и окно консоли. Получите размер окна с помощью GetConsoleScreenBufferInfo, члена srWindow. Установите размер буфера с помощью SetConsoleScreenBufferSize ().

4
ответ дан 5 December 2019 в 13:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: