Я хотел бы удалить полосы прокрутки из моей консоли (как в edit
-команда), потому что я хочу сделать программу, похожую на qbasic. Я знаю что вот Тема но это не работает для меня в Windows 7 32bit. Там написано, что вам нужно только сделать экранный буфер консоли того же размера, что и окно консоли.
Это не работает:
HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(hstdout, &csbi);
csbi.dwSize.X = csbi.srWindow.Right;
csbi.dwSize.Y = csbi.srWindow.Bottom;
SetConsoleScreenBufferSize(hstdout, csbi.dwSize);
Даже если я установлю csbi.dwSize.X
а также Y
до 10 или меньше, полосы прокрутки есть.
Проблема заключается в размере информации, содержащейся в srWindow
для экрана буфера не фактическое окно. Вы хотите использовать dwMaximumWindowSize
который определяет размер окна в столбцах и строках.
csbi.dwSize.X = csbi.dwMaximumWindowSize.X;
csbi.dwSize.Y = csbi.dwMaximumWindowSize.Y;
Других решений пока нет …