2013-06-18 2 views
0

Как изменить размер окна консоли Windows в C?Создание окна консоли больше в C

+1

C просто указывает файл ввода/вывода. Консоли являются специфичными для ОС. –

+0

Вам нужно использовать 'SetConsoleScreenBufferSize', а затем' SetConsoleWindowInfo'. Если вы не можете заставить это работать, отправьте код. –

+0

Форматирование комментария является странным, поэтому я просто буду редактировать свой пост. Новые вещи в ответ на @HarryJohnston там. –

ответ

3

Хорошо, после долгих размышлений, я получил код, работающий.

Использование этого включают:

#include <windows.h> 

Эта структура:

struct SMALL_RECT { 
    SHORT Left; 
    SHORT Top; 
    SHORT Right; 
    SHORT Bottom; 
}; 

И эта функция:

void adjustWindowSize() 
{ 
    struct SMALL_RECT test; 

    HANDLE hStdout; 
    COORD coord; 
    BOOL ok; 

    hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
    coord.X = 100; 
    coord.Y = 50; 
    ok = SetConsoleScreenBufferSize(hStdout, coord); 

    test.Left = 0; 
    test.Top = 0; 
    test.Right = coord.X-1; 
    test.Bottom = coord.Y-1; 

    SetConsoleWindowInfo(hStdout, ok, &test); 

} //end adjustWindowSize 

Я успешно настроил размер консольного окна к значениям в коорд .X и coord.Y

+2

Хотя это, вероятно, работает, нет смысла передавать возвращаемое значение 'SetConsoleScreenBufferSize' в качестве параметра' bAbsolute' 'SetConsoleWindowInfo'. –

Смежные вопросы