C++ Настраиваем внешний вид консоли

Всем Рептилойдам - Рен ТВ
Пользователь
Статус
Оффлайн
Регистрация
1 Фев 2020
Сообщения
541
Реакции[?]
92
Поинты[?]
0
C++:
DWORD mConsole = 0;

MoveWindow(GetConsoleWindow(), 0, 0, 455, 350, TRUE);
//изменение размера окна, первым аргументом передаётся дескриптор окна
//вторым положение по оси x, третьим расположение по оси y
//т.е первые два параметра отвечают за место консоли на экране.
//третий и четвёртый аргумент дина, ширина консоли

GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &mConsole);
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), mConsole & ~ENABLE_QUICK_EDIT_MODE);
// отключаем возможность выделения в консоли мышкой
// остальные флаги и их описание можно посмотреть тут: https://docs.microsoft.com/en-us/windows/console/setconsolemode

ShowScrollBar(GetConsoleWindow(), SB_VERT, 0);
//первым аргументом передается дескриптор окна, вторым - флаг (в моём случае это SB_VERT, он отвечает за вертикальную полосу прокрутки)
//третий аргумент - значение типа bool, т.е мы включаем или отключаем полосу прокрутки, указанную флагом

SetWindowLongA(GetConsoleWindow(), -16, GetWindowLongA(GetConsoleWindow(), -16) & ~WS_MAXIMIZEBOX & ~WS_SIZEBOX);
//первым аргументом указывается дескриптор окна, вторым - индекс атрибута, третий - флаг.
// WS_MAXIMIZEBOX и WS_SIZEBOX отключают возможность изменить размер (пользователю)
SS:
1647074470349.png
 
Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,996
Реакции[?]
1,275
Поинты[?]
0
C++:
//шрифты
CONSOLE_FONT_INFOEX cfi;

cfi.cbSize = sizeof(CONSOLE_FONT_INFOEX);

cfi.dwFontSize.X = 11;
cfi.dwFontSize.Y = 15;
cfi.nFont = 0;
cfi.FontFamily = FF_DONTCARE;
cfi.FontWeight = FW_NORMAL;
wcscpy(cfi.FaceName, L"White Rabbit");


SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), false, &cfi);

//цвет

HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, foreground_col | background_col);
 
t.me/maj0rblog
Дизайнер
Статус
Оффлайн
Регистрация
6 Окт 2018
Сообщения
975
Реакции[?]
619
Поинты[?]
12K
C++:
DWORD mConsole = 0;

MoveWindow(GetConsoleWindow(), 0, 0, 455, 350, TRUE);
//изменение размера окна, первым аргументом передаётся дескриптор окна
//вторым положение по оси x, третьим расположение по оси y
//т.е первые два параметра отвечают за место консоли на экране.
//третий и четвёртый аргумент дина, ширина консоли

GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &mConsole);
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), mConsole & ~ENABLE_QUICK_EDIT_MODE);
// отключаем возможность выделения в консоли мышкой
// остальные флаги и их описание можно посмотреть тут: https://docs.microsoft.com/en-us/windows/console/setconsolemode

ShowScrollBar(GetConsoleWindow(), SB_VERT, 0);
//первым аргументом передается дескриптор окна, вторым - флаг (в моём случае это SB_VERT, он отвечает за вертикальную полосу прокрутки)
//третий аргумент - значение типа bool, т.е мы включаем или отключаем полосу прокрутки, указанную флагом

SetWindowLongA(GetConsoleWindow(), -16, GetWindowLongA(GetConsoleWindow(), -16) & ~WS_MAXIMIZEBOX & ~WS_SIZEBOX);
//первым аргументом указывается дескриптор окна, вторым - индекс атрибута, третий - флаг.
// WS_MAXIMIZEBOX и WS_SIZEBOX отключают возможность изменить размер (пользователю)
SS:
Посмотреть вложение 195741
Многие и так это знают.
Если на то пошло то добавь и это
C++:
    CONSOLE_SCREEN_BUFFER_INFOEX info;
    info.cbSize = sizeof(CONSOLE_SCREEN_BUFFER_INFOEX);

    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    GetConsoleScreenBufferInfoEx(hConsole, &info);

    info.ColorTable[2] = RGB(163, 240, 127);

    SetConsoleScreenBufferInfoEx(hConsole, &info);

    SetConsoleTextAttribute(hConsole, 2);
 
Сверху Снизу