Всем доброго вечера! Работаю с консолью посредством Win32 API, используя следующие функции: - GetStdHandle(); - SetConsoleScreenBufferInfoEx(); - FillConsoleOutputCharacter(); - FillConsoleOutputAttribute(); - SetConsoleCursorPosition(); - SetConsoleTextAttribute(); - WriteConsole() Устанавливаю размер буфера и ряд других параметров: Код (Text): CONSOLE_SCREEN_BUFFER_INFOEX consoleScreenBufferInfo; memset(&consoleScreenBufferInfo,0,sizeof(CONSOLE_SCREEN_BUFFER_INFOEX)); consoleScreenBufferInfo.cbSize=sizeof(CONSOLE_SCREEN_BUFFER_INFOEX); consoleScreenBufferInfo.dwSize=size; consoleScreenBufferInfo.dwCursorPosition=cursorPosition; consoleScreenBufferInfo.wAttributes=FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY; consoleScreenBufferInfo.srWindow=windowRect; consoleScreenBufferInfo.dwMaximumWindowSize=size; consoleScreenBufferInfo.wPopupAttributes=FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY; consoleScreenBufferInfo.bFullscreenSupported=false; for(unsigned int i=0;i<16;i++) consoleScreenBufferInfo.ColorTable[i]=colors[i]; При этом размеры окна рассчитываю на основании размера символа (получаю его через GetCurrentConsoleFontEx()). Так же устанавливаю максимальный размер окна (и интересно, а минимальный размер окна можно установить?). Размер буфера (переменная size) я устанавливаю 80x25. Вроде всё нормально. Начинаю выводить текст "Hello" (5 символов) начиная с позиции (77,24). В результате получаю перенос на новую строку, при этом затирается верхняя строка. Оттащим вывод немного назад, на (75,24), и у нас весь текст умещается в текущей строки, но курсор автоматически переводится на новую строку, затирая первую. Всё бы нормально, но мне надо чтобы у меня была ASCII-графика (псевдографика). Вопрос: как мне отменить затирание буфера? Конечно же можно контролировать размер выводимой строки и отрезать то что уйдёт. Но всё равно, если использовать самую крайнюю ячейку (79,24), то курсор автоматически сдвинется на новую строку. PS: Пробовал скрывать курсор посредством SetConsoleCursorInfo() - проблему не решает.