【问题标题】:How to change the console font size如何更改控制台字体大小
【发布时间】:2016-05-24 18:33:31
【问题描述】:

如何在 Windows 上的控制台应用程序中更改字体大小?最简单的方法? 使用system("") 和 windows.h 更改控制台颜色有什么区别?

【问题讨论】:

    标签: c++ winapi console font-size


    【解决方案1】:

    您可以使用SetCurrentConsoleFontEx 更改字体大小。
    下面是一个小示例,您可以随意使用,确保您使用#include <cwchar>#include <windows.h>

    CONSOLE_FONT_INFOEX cfi;
    cfi.cbSize = sizeof(cfi);
    cfi.nFont = 0;
    cfi.dwFontSize.X = 0;                   // Width of each character in the font
    cfi.dwFontSize.Y = 24;                  // Height
    cfi.FontFamily = FF_DONTCARE;
    cfi.FontWeight = FW_NORMAL;
    std::wcscpy(cfi.FaceName, L"Consolas"); // Choose your font
    SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);
    
    std::cout << "Font: Consolas, Size: 24\n";
    

    如果您选择Arial 或其他,您可能需要给它一个字体大小宽度。更多information.


    system() 调用和使用Windows.h 的区别在于system() 调用资源繁重且不安全。更多资讯here.

    【讨论】:

    • “如果您选择 Arial 或其他” - 哪些? “[...] 你可能需要给它一个字体大小宽度。” - 在什么条件下?
    • 也许值得注意的是SetCurrentConsoleFontEx 需要 Vista 或更高版本 (_WIN32_WINNT >= 0x0500)。此外,文档还不清楚cfi.nFont = 0; 的工作原理(“nFont = 系统控制台字体表中的字体索引。”)。
    • 您知道如何在 Ubuntu 上执行此操作吗?
    猜你喜欢
    • 1970-01-01
    • 2015-01-23
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 2016-06-20
    相关资源
    最近更新 更多